From 4cc9fabd7385112e7ae7566e3d72e9e64faf4d27 Mon Sep 17 00:00:00 2001 From: michail Date: Wed, 9 Oct 2019 17:43:48 +0500 Subject: [PATCH] edited transfer.py for notification, account, establishment --- apps/account/transfer.py | 12 ++++-- apps/establishment/transfer.py | 78 ++++++++++++++++++++++++++++------ apps/notification/transfer.py | 14 +++--- 3 files changed, 80 insertions(+), 24 deletions(-) diff --git a/apps/account/transfer.py b/apps/account/transfer.py index dc02c49c..964705e5 100644 --- a/apps/account/transfer.py +++ b/apps/account/transfer.py @@ -34,10 +34,14 @@ card = { "email": "email", "email_confirmed": ("confirmed_at", "BooleanField") }, - # Profiles ссылается внешним ключом(account) на Accounts - "Profiles": { - "first_name": "firstname", - "last_name": "lastname" + "relations": { + "Profiles": { + "key": "account", + "fields": { + "first_name": "firstname", + "last_name": "lastname" + } + } } } } diff --git a/apps/establishment/transfer.py b/apps/establishment/transfer.py index 2305602d..7e9fe57a 100644 --- a/apps/establishment/transfer.py +++ b/apps/establishment/transfer.py @@ -12,25 +12,51 @@ field[1] - название поля в таблице legacy card = { + "EstablishmentType": { + "data_type": "dictionaries", + "dependencies": None, + "fields": { + "Establishments": { + # значения для поля "name" берутся из поля "type" legacy модели "establishments" + # https://jira.spider.ru/browse/GM-199 + "name": ("name", "TJSONField") + } + } + }, "Establishment": { - "dependencies": ("Address", "Collection", ), + "data_type": "dictionaries", + "dependencies": ("Address", "Collection", "EstablishmentType"), # нету аналогов для establishment_type, establishment_subtypes, schedule, comments, tags "fields": { "Establishments": { "name": "name", - "slug": "slug" + "slug": "slug", + "is_publish": ("state", "BooleanField") }, - "EstablishmentInfos": { - "website": "website", - "facebook": "facebook", - "twitter": "twitter", - "lafourchette": "lafourchette", - "booking": "booking_url" + "relations": { + "EstablishmentInfos": { + "key": "establishment", + "fields": { + "website": "website", + "facebook": "facebook", + "twitter": "twitter", + "lafourchette": "lafourchette", + "booking": "booking_url" + } + }, }, }, + # как работать с GenericRelation - ? + # как работать с ManyToManyField - ? "EstablishmentSubType", "schedule" "relations": { - # "address": "Address", - # # "establishment_type": "EstablishmentType", + "Locations": [ + (("location_id", "id"), + ("Address", "address", "id", "PositiveIntegerField")), + ], + "Establishment": [#TODO правильно ли заполнена связь с EstablishmentType - ? + (("type", "type"), + ("EstablishmentType", "establishment_type", "id", "PositiveIntegerField")) + ] # # "establishment_subtypes": "EstablishmentSubType", # "collections": "Collection", # # TODO: нашел schedules в legacy @@ -39,11 +65,12 @@ card = { # # "tags": "MetaDataContent", # "reviews": "Review", # # "comments": "Comment", - # # "favorites": "Favorites" + # # "favorites": "Favorites" # В legacy этой таблицы не было } }, "Menu": { + "data_type": "objects", "dependencies": ("Establishment", ), "fields": { "Menus": { @@ -51,19 +78,42 @@ card = { } }, "relations": { - # "establishment": "Establishment" + "Establishments": [ + (("establishment_id", "id"), + ("Establishment", "establishment", "id", "PositiveIntegerField")) + ] } }, "ContactPhone": { + "data_type": "objects", "dependencies": ("Establishment", ), "fields": { "Establishments": { "phone": "phone" }, - "relations": { - # "establishment": "Establishment" + "relations": { #TODO правильно ли заполнена связь с Establishment - ? + "Establishments": [ + (("id", "id"), + ("Establishment", "establishment", "id", "PositiveIntegerField")) + ] } } + }, + + "ContactEmail": { + "data_type": "objects", + "dependencies": ("Establishment", ), + "fields": { + "EstablishmentInfos": { + "email": "email" + }, + }, + "relations": { + "Establishments": [ + (("establishment_id", "id"), + ("Establishment", "establishment", "id", "PositiveIntegerField")) + ] + } } } diff --git a/apps/notification/transfer.py b/apps/notification/transfer.py index b2cb97cc..1feb4385 100644 --- a/apps/notification/transfer.py +++ b/apps/notification/transfer.py @@ -28,17 +28,19 @@ NOTE: среди legacy таблиц совпадение для таблицы card = { # нету аналога для NewsType - "News": { + "Subscriber": { "data_type": "objects", - "dependencies": ("User", ), + # "dependencies": ("User", ), + "dependencies": None, "fields": { "EmailAddresses": { "email": "email", + "state": ("state", "PositiveIntegerField") # из legacy брать только те записи у которых state=usable }, - "relations": [ - # отложено до выяснения Уточнения и вопросы по мигратору(Как поступать со сбором данных) - # "user": "" - ] + # "relations": [ + # # отложено до выяснения Уточнения и вопросы по мигратору(Как поступать со сбором данных) + # # "user": "" + # ] } }, }