python - 帮助 Python 新手解决 Django 模型继承问题

标签 python django django-models django-inheritance

经过多年的 PHP 编程,我正在开发我的第一个真正的 Django 项目,但我的模型遇到了问题。首先,我注意到我在模型之间复制和粘贴代码,作为一名勤奋的 OO 程序员,我决定创建一个其他模型可以继承的父类:

class Common(model.Model):
    name = models.CharField(max_length=255)
    date_created  = models.DateTimeField(auto_now_add=True)
    date_modified = models.DateTimeField(auto_now=True)

    def __unicode__(self):
        return self.name

    class Meta:
        abstract=True

到目前为止一切顺利。现在我的所有其他模型都扩展了“Common”,并且具有我想要的名称和日期。但是,我有一个“类别”类,其名称必须是唯一的。我认为应该有一种相对简单的方法来访问 Common 的 name 属性并使其唯一。然而,我尝试过的各种方法都失败了。例如:

class Category(Common):
    def __init__(self, *args, **kwargs):
        self.name.unique=True

导致 Django 管理页面抛出错误“渲染时捕获异常:‘类别’对象没有属性‘名称’

有人能指出我正确的方向吗?

最佳答案

关于python - 帮助 Python 新手解决 Django 模型继承问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2914380/

相关文章:

python - 使用查询集 Model.objects.aggregate(Sum(***)) 对数据库列的所有值求和

mysql - Django 模型 : default value for column

python - 如何从hdfs读取文件

python3 堆栈粉碎 - python 用 c 扩展

python - 传递一个变量来显示一个django模型方法

python - Django管理站点已损坏-呈现: 'ascii' codec can't decode byte 0xd0 in position 0时捕获了UnicodeDecodeError

python - 如何使Open CV在已部署的Web应用程序上工作

python - 如何将问题从 bitbucket 转移到 Trac?

python - PIL : Thumbnail and end up with a square image

python - 在 Django/Python 中规范化街道地址