当我将他设置为自定义字段时,我对ModelSelect2MultipleWidget有一些问题。
models.py
class Product(GenerateUniuqSlugMixin, BaseAbstractModel):
name = models.CharField(
verbose_name='Имя',
max_length=255
)
slug = models.SlugField(
verbose_name='Url',
max_length=100
)
description = models.TextField(
verbose_name='Описание',
blank=True
)
price = models.ManyToManyField(
'Price',
verbose_name='Цена',
blank=True,
related_name='products'
)
class Price(BaseAbstractModel):
code = models.CharField(
verbose_name='Уникальный Код',
max_length=100,
unique=True,
db_index=True
)
price = models.DecimalField(
verbose_name='Цена',
max_digits=16,
decimal_places=2
)
creation_date = models.DateField(
verbose_name='Дата добавления',
auto_now_add=True
)
update_date = models.DateField(
verbose_name='Дата обновления',
auto_now=True
)
我希望有机会搜索和连接价格管理面板中的产品。我在下一个代码中添加了表单:
class PriceAdminForm(forms.ModelForm):
products = forms.ModelMultipleChoiceField(
queryset=Product.objects.all(),
widget=ModelSelect2MultipleWidget(
model=Product,
queryset=Product.objects.all(),
search_fields=['name__icontains'],
attrs={'data-placeholder': 'Поиск в товарах', 'data-width': '50em'}
),
required=False
)
class Meta:
model = Price
fields = (
'code',
'name',
'price',
'products',
)
但是它没有工作,我不知道为什么,我的错误在哪里?如果我从widget attr中删除ModelSelect2MultipleWidget,我会看到默认选择字段,但他不记得我的保存选择,他只显示所有查询集。如果我能看到提供ModelSelect2MultipleWidget的输入字段会很棒。 感谢' S
我的环境: Django的== 2.0.2 Django的SELECT2 == 6.0.1