我需要创建一个内联表单集
a)从MyModel
中排除某些字段,使其完全显示
b)显示一些字段MyModel
,但阻止其进行编辑。
我尝试使用下面的代码,并使用values()
来将查询集过滤为仅返回我想返回的那些值。但是,这失败了。
有人有什么主意吗?
class PointTransactionFormset(BaseInlineFormSet):
def get_queryset(self):
qs = super(PointTransactionFormset, self).get_queryset()
qs = qs.filter(description="promotion feedback")
qs = qs.values('description','points_type') # this does not work
return qs
class PointTransactionInline(admin.TabularInline):
model = PointTransaction
#formset = points_formset()
#formset = inlineformset_factory(UserProfile,PointTransaction)
formset = PointTransactionFormset
最佳答案
在文档中似乎没有说的一件事是,您可以在模型表单集的参数中包含一个表单。因此,举例来说,假设您有一个人模型表单,可以通过执行此操作在模型表单集中使用它
PersonFormSet = inlineformset_factory(User, Person, form=PersonForm, extra=6)
这样,您就可以在模型表单级别上进行所有表单验证,排除等操作,并在工厂进行复制。
关于django - Django中的内联表单集-删除某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/559361/