问题描述
我有以下型号:
class Product(models.Model):
name = models.CharField(max_length=100)
class ProductList(models.Model):
name = models.CharField(max_length=100)
users = models.ManyToManyField(User)
products = models.ManyToManyField(Product,through='ProductAssignment')
class ProductAssignment(models.Model):
count = models.PositiveIntegerField()
product_list = models.ForeignKey(ProductList,on_delete=models.CASCADE)
product = models.ForeignKey(Product,on_delete=models.CASCADE)
class ProductAssignmentInlineAdmin(admin.TabularInline):
model = ProductAssignment
fields = ('count','product')
extra = 2
class ProductListAdmin(admin.ModelAdmin):
model = ProductList
inlines = (ProductAssignmentInlineAdmin,)
admin.site.register(ProductList,ProductListAdmin)
现在,我要允许用户以相同方式编辑ProductList 。因此,我创建了一个UpdateView
class ProductListUpdate(LoginrequiredMixin,UpdateView):
model = ProductList
fields = '__all__'
,但仅显示ProductList的字段,而不显示m2m值。我已经用form_class替换了字段:
ProductAssignmentForm = inlineformset_factory(ProductList,ProductAssignment,fields=('count','product'),extra=2)
class ProductListUpdate(LoginrequiredMixin,UpdateView):
model = ProductList
form_class = ProductAssignmentForm
这仅显示表单的m2m部分。
如何显示这两个属性(ProductAssignment模型中的ProductList属性和m2m内联属性)?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)