如何避免django项目中的重复模型?

时间:2010-10-12 13:50:33

标签: django models code-reuse

我正在学习django所以我有很多问题,一个是我如何重用模型?我的意思是模型存在于应用程序文件夹中,但某些模型在两个不同的应用程序之间完全相同。 那么每次我写一个新的应用程序时我都应该重写模型吗?

3 个答案:

答案 0 :(得分:3)

如果您的模型在不同的应用程序中完全相同,那么您做错了。不要忘记应用程序基本上只是一组模型,只需导入它们就可以在另一个应用程序中使用一个应用程序的模型。

您能举例说明具有完全相同模型的两个应用程序吗?

答案 1 :(得分: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)

答案 2 :(得分:0)

  

如何重复使用模型

重用模型的最佳方法是继承父模型类。这就是你必须这样做的方式。继承自models.Model。

from django.db import models
class trial(models.Model):
    # override the parent class methods here or define your own

另外,请确保在相应的models.py文件中import您的应用模型。