Ric*_*cky 4 python django django-forms
我有一个抽象模型,我的所有其他模型都继承自它,它看起来像这样。
class SupremeModel(models.Model):
creator = models.ForeignKey(User, related_name="%(class)s_creator")
created = models.DateTimeField(null=True, blank=True)
deleted = models.BooleanField(default=False)
modified = models.DateTimeField(null=True,blank=True)
class Meta:
abstract = True
Run Code Online (Sandbox Code Playgroud)
然后我有一堆继承自该模型的其他模型,其中有一些类似的内容......
class ExampleModel(SupremeModel):
name = models.TextField(null=False, blank=False)
description = models.TextField(null=False, blank=False)
class AnotherModel(SupremeModel):
title = models.TextField(null=False, blank=False)
location = models.TextField(null=False, blank=False)
Run Code Online (Sandbox Code Playgroud)
我想为几乎所有看起来与ExampleModel类似的自定义模型创建一个Django模型表单,但我总是希望SupremeModel中的字段被排除在表单中......
如何创建一个可用于继承排除参数的 ModelForm,这些参数将隐藏创建者、创建者、删除者和修改者,但显示所有其他字段(在本例中为名称和描述或标题和位置)。
小智 8
你可以试试这个
class ExcludedModelForm(ModelForm):
class Meta:
exclude = ['creator', 'created', 'deleted', 'modified']
class ExampleModelForm(ExcludedModelForm):
class Meta(ExcludedModelForm.Meta):
model = ExampleModel
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4110 次 |
| 最近记录: |