Я изучаю django, поэтому у меня много вопросов, и один из них - как я могу повторно использовать модель? Я имею в виду, что модели живут в папке приложения, но некоторые модели точно совпадают между двумя различными приложениями. Так что я должен переписывать модель каждый раз, когда пишу новое приложение?Как избежать дублирования моделей в проекте django?
3
A
ответ
3
Да, это неправильно, когда у вас есть те же имена, твои и приложения Вы также можете использовать abstract models
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)
0
Как использовать модель.
Лучший способ повторного использования модели - наследовать родительский класс модели. Вот как вы должны это делать. Унаследовано от models.Model.
from django.db import models
class trial(models.Model):
# override the parent class methods here or define your own
Также убедитесь, что вы import
ваши модели приложения в соответствующем файле models.py.
3
Если ваши модели точно то же самое в разных приложениях, вы делаете что-то не так. Не забывайте, что приложение - это всего лишь набор моделей, и вы можете использовать модели одного приложения в другом приложении, просто импортировав их.
Можете ли вы привести пример двух приложений с точно такими же моделями?
Как насчет модели страны? – m000