Как избежать дублирования моделей в проекте django?
Я изучаю django, поэтому у меня много вопросов, и один из них-как я могу повторно использовать модель? я имею в виду, что модели живут в папке приложения, но некоторые модели точно такие же между двумя разными приложениями. Так стоит ли переписывать модель каждый раз, когда я пишу новое приложение?
3 ответа:
Да, это неправильно, когда у вас одинаковые имена ваших приложений Вы также можете использовать абстрактные модели
class CommonInfo(models.Model): name = models.CharField(max_length=100) age = models.PositiveIntegerField() class Meta: abstract = True class Student(CommonInfo): home_group = models.CharField(max_length=5)
Если ваши модели точно одинаковы в разных приложениях, вы делаете что-то неправильно. Не забывайте, что приложение-это в основном набор моделей, и вы можете использовать модели одного приложения в другом приложении, просто импортировав их.
Можете ли вы привести пример двух приложений с абсолютно одинаковыми моделями?
Как повторно использовать модель .
Лучший способ повторного использования модели-наследовать родительский класс модели. Вот как вы должны это делать. Наследование от моделей.Модель.
from django.db import models class trial(models.Model): # override the parent class methods here or define your own
Также убедитесь, что вы
import
Ваши модели приложений в соответствующих models.py файл.