from pt_map.models import * from pt_map.model_test_fields import field_requirements def get_all_fields(model_name): for m in field_requirements: if m["model"] == model_name: return m["fields"] def get_required_fields(model_name): required_fields = [] for field in get_all_fields(model_name): if field["required"] == "true": required_fields.append(field) return required_fields def get_optional_fields(model_name): optional_fields = [] for field in get_all_fields(model_name): if field["required"] == "false": optional_fields.append(field) return optional_fields def get_conditionally_required_fields(model_name): conditionally_required_fields = [] for field in get_all_fields(model_name): if field["required"] == "if": conditionally_required_fields.append(field) return conditionally_required_fields def get_conditionally_forbidden_fields(model_name): conditionally_forbidden_fields = [] for field in get_all_fields(model_name): if field.get("forbidden_if") or field.get("forbidden_if_not") or field.get("forbidden_if_eq") or field.get("forbidden_if_not_eq"): conditionally_forbidden_fields.append(field) return conditionally_forbidden_fields data = [ { "name": "Fulton Conley", "telephone": "1-538-373-2858", "email": "duis@google.net", "url": "http://bbc.co.uk", "pk": "WKQ42OFT7XX", "str": "tincidunt orci quis lectus. Nullam suscipit, est ac", "time": "00:34:56", "date": "20231223", "curcode": "TRY", "timezone": "Europe/Paris", "langcode": "ZO" }, { "name": "Donna Collins", "telephone": "1-858-166-4735", "email": "arcu.vestibulum.ante@yahoo.org", "url": "http://youtube.com", "pk": "TEP72JJR8XE", "str": "gravida molestie arcu. Sed eu nibh vulputate mauris", "time": "04:14:54", "date": "20240903", "curcode": "HKD", "timezone": "Africa/Abidjan", "langcode": "RQ" }, { "name": "Tad Jensen", "telephone": "(767) 770-8531", "email": "dolor.egestas.rhoncus@icloud.com", "url": "http://baidu.com", "pk": "UVO18XXG8IB", "str": "montes, nascetur ridiculus mus. Aenean eget magna. Suspendisse tristique", "time": "20:27:48", "date": "20240322", "curcode": "KZT", "timezone": "Europe/Paris", "langcode": "GI" }, { "name": "Calvin Harrison", "telephone": "1-547-884-7735", "email": "etiam.laoreet@google.net", "url": "https://instagram.com", "pk": "NCV69RJX3HR", "str": "aptent taciti sociosqu ad litora", "time": "18:55:30", "date": "20240720", "curcode": "PLN", "timezone": "Asia/Atyrau", "langcode": "DP" }, { "name": "Phillip Britt", "telephone": "(445) 832-4949", "email": "nulla.tincidunt@protonmail.net", "url": "http://naver.com", "pk": "HGW71LUD1QL", "str": "ultricies dignissim", "time": "00:42:36", "date": "20230627", "curcode": "CHF", "timezone": "Africa/Addis_Ababa", "langcode": "CB" }, { "name": "Branden Leblanc", "telephone": "(621) 519-7201", "email": "erat.etiam@google.edu", "url": "https://google.com", "pk": "BIT71WZZ5MT", "str": "Nunc pulvinar arcu et pede.", "time": "13:57:23", "date": "20250116", "curcode": "MUR", "timezone": "Asia/Atyrau", "langcode": "YD" }, { "name": "Bradley Larson", "telephone": "1-699-788-9354", "email": "et.commodo@icloud.edu", "url": "https://whatsapp.com", "pk": "UON48QSJ0RD", "str": "dui,", "time": "01:26:35", "date": "20231004", "curcode": "EUR", "timezone": "Europe/Berlin", "langcode": "BU" }, { "name": "Scarlet Patterson", "telephone": "(451) 444-7817", "email": "scelerisque.scelerisque@outlook.edu", "url": "http://wikipedia.org", "pk": "LHE29UCR4BJ", "str": "lacus. Cras", "time": "13:51:51", "date": "20240602", "curcode": "SEK", "timezone": "Asia/Damascus", "langcode": "DY" }, { "name": "Latifah Alvarez", "telephone": "(266) 713-8186", "email": "mauris.magna@icloud.edu", "url": "https://youtube.com", "pk": "VOQ57DYR9CU", "str": "orci tincidunt adipiscing. Mauris molestie pharetra nibh. Aliquam ornare,", "time": "03:54:44", "date": "20240923", "curcode": "XCD", "timezone": "Africa/Addis_Ababa", "langcode": "OT" }, { "name": "Thane Moran", "telephone": "1-674-463-6771", "email": "odio.etiam.ligula@icloud.edu", "url": "https://pinterest.com", "pk": "CGR74BDF1DH", "str": "eu metus. In lorem. Donec elementum,", "time": "15:58:50", "date": "20231225", "curcode": "RUB", "timezone": "Africa/Abidjan", "langcode": "KS" } ]