2010-10-12 2 views
3

Я изучаю django, поэтому у меня много вопросов, и один из них - как я могу повторно использовать модель? Я имею в виду, что модели живут в папке приложения, но некоторые модели точно совпадают между двумя различными приложениями. Так что я должен переписывать модель каждый раз, когда пишу новое приложение?Как избежать дублирования моделей в проекте django?

ответ

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

Если ваши модели точно то же самое в разных приложениях, вы делаете что-то не так. Не забывайте, что приложение - это всего лишь набор моделей, и вы можете использовать модели одного приложения в другом приложении, просто импортировав их.

Можете ли вы привести пример двух приложений с точно такими же моделями?

+0

Как насчет модели страны? – m000

Смежные вопросы