我想延长ForeignKeyRawIdWidget所以希望能够使用它没有设置raw_id_fields。

随着follwoing我没有得到一个错误,但我看不出有什么效果:

# models.py
class Product(models.Model):
    ...

class GroupProduct(Product):
    ...
    products = models.ManyToManyField(Product, related_name="%(class)s_related")

# forms.py
class GroupProductAdminForm(forms.ModelForm):    
    class Meta:
        model = GroupProduct
        widgets = {
            'products': ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel),
        }

此给我一个错误:的初始化()需要至少2个非关键字参数(1给出)

products = forms.ModelMultipleChoiceField(widget=ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel))

我该怎么做呢?

由于

有帮助吗?

解决方案 2

使用代替ForeignKeyRawIdWidget ManyToManyRawIdWidget固定对我来说。

其他提示

您忘了相关模型查询集传递给ModelMultipleChoiceField。

products = forms.ModelMultipleChoiceField(Product.objects, widget=ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel))
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top