Django модель развязки - PullRequest
       28

Django модель развязки

0 голосов
/ 19 октября 2018

Я работаю с Django 2.1 над довольно простым приложением, и я изо всех сил пытаюсь найти шаблон, с которым я убежден, имея дело с развязкой приложений.

Сейчас у меня есть простое приложение для продажприложение налогов.Приложение налогов ссылается на модель Customer в приложении продаж в модели, которую я назвал Contributor, которая содержит налоговую информацию для конкретного клиента.Вот упрощенная версия.

#sales/models.py
class Customer(models.Model):
   name = models.CharField()
   address = models.CharField()
   email = models.CharField()


#taxes/models.py
class Contributor(models.Model):
   customer = models.ForeignKey(sales.models.Customer)
   tax_id = models.CharField()
   sales_tax_type = models.CharField()

То, что я хотел бы сделать, это иметь возможность поддерживать слабую связь между этими приложениями, поэтому, если бы мне нужно было полностью заменить приложение по налогам, приложение по продажам не заботилось бы.Проблема возникает, когда мне нужно выполнить поиск на основе полей в обеих таблицах, например, мне нужно получить клиентов, содержащих строку в своих именах и имеющих определенный тип sales_tax_type.Прямо сейчас я запрашиваю в приложении налогов, ссылаясь на атрибуты клиента.Этот подход мне не очень нравится, потому что он требует, чтобы я делал запросы на основе конкретной модели клиента, а позже мне могут потребоваться данные участника для других моделей (например, для Provider).

Я также думал о денормализацииклиент становится участником и имеет несколько разных классов, унаследованных от Contributor для каждого типа.

Если у кого-то есть идея получше, это было бы здорово.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...