【发布时间】:2018-12-18 20:00:46
【问题描述】:
我正在尝试为每个模型设置一次自定义变量集。例如,模型对象可能具有以下变量:
- has_meetings
- has_cmets
- has_attachments
我想要完成的是为每个模型指定一次设置,而不是为每个模型实例指定一次。
最初,我尝试过:
class BaseModel(models.Model):
has_comments = Boolean(default=True)
has_meetings = Boolean(default=True)
但后来我意识到这将在管理员中传播到对象的每个实例。我想做的是适用于 BaseModel 的任何子类的东西,但不适用于每个实例。
有人遇到过这个问题吗?解决方法是什么?
【问题讨论】:
-
"Boolean" 是从哪里导入的?
-
您希望它在类中而不是在实例中?像私人领域?这会有帮助吗? stackoverflow.com/questions/8180740/…
-
你有与 BaseModel 相关的类 cmets 吗?
-
@A'zamMamatmurodov - 我不确定你的意思。
-
你可以使用的一种技术是自己创建一个生成 django 类的元类。在您的元类中,您可以放置您想要的任何自定义字段。然后在 Django 中,您的模型可以从元类构造他们想要的类。这有意义吗?
标签: django django-models