Я работаю над проектом Django, созданным бывшим сотрудником компании (поэтому я рефакторинг всего проекта, созданного кем-то другим, который не следовал рекомендациям Django Best Practices), в котором есть две модели в разных приложениях, использующих одни и те же таблицы. по базе данных. Таблицы City и State используются в обоих приложениях.
Я хочу знать, как лучше всего применять концепции DRY и использовать только одну модель для доступа двух приложений к этим таблицам.
Два приложения находятся в папке проекта, и у каждого из них есть собственный models.py
со следующим кодом для города/штата:
from django.db import models
from django.contrib.auth.models import User,Group
from django.db.models.signals import post_save
from django.dispatch import receiver
class state(models.Model):
class Meta:
db_table = '"db_property"."state"'
created_at = models.DateTimeField(db_column='created_at')
updated_at = models.DateTimeField(db_column='updated_at')
name = models.CharField(db_column='name',max_length=50)
class city(models.Model):
class Meta:
db_table = '"db_property"."city"'
created_at = models.DateTimeField(db_column='created_at')
updated_at = models.DateTimeField(db_column='updated_at')
name = models.CharField(db_column='name',max_length=50)
state = models.ForeignKey(state,on_delete=models.CASCADE)