كيفية استخدام ForearKeyRawidwidget
سؤال
أرغب في توسيع 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
باستخدام ManyTomanyRawidWidget بدلاً من ForeignKeyRawidWidget تم إصلاحه بالنسبة لي.
نصائح أخرى
لقد نسيت تمرير النموذج الصائغ إلى ModelMultIpleChoicefield.
products = forms.ModelMultipleChoiceField(Product.objects, widget=ForeignKeyRawIdWidget(GroupProduct._meta.get_field('products').rel))
لا تنتمي إلى StackOverflow