【问题标题】:Django-select2 is not showing model dataDjango-select2 不显示模型数据
【发布时间】:2019-10-24 08:40:45
【问题描述】:

我已配置 django-select2,但模型中的数据未显示在字段中。我尝试过很多方法,比如普通形式和模型形式。

我也尝试将该字段初始化为查询,但它仍然无法相应地工作。 相同的代码:

forms.py

class PricekeyForm(forms.ModelForm):
    uom = forms.ModelChoiceField(
            queryset=UnitOfMeasurement.objects.all(),
            widget=ModelSelect2Widget(
                model=UnitOfMeasurement,
                search_fields=['unit__icontains']
            )
        )

    class Meta:
        model = Pricekey
        fields = ['uom', 'sales_price', 'return_price', 'damage_return_price',]

    def __init__(self, *args, **kwargs):
        self.fields['uom'].widget.queryset

模型.py

class Pricekey(BaseModel):
    itemcode = models.CharField(max_length=255,null=True,blank=True)
    uom = models.ForeignKey('UnitOfMeasurement',on_delete=models.CASCADE,null=True,blank=True) 
    sales_price = models.FloatField(null=True,blank=True)
    return_price = models.FloatField(null=True,blank=True)
    damage_return_price = models.FloatField(null=True,blank=True)
    expiry_return_price = models.FloatField(null=True,blank=True)

我想要的是,select2 填充了数据库中的数据。请告诉我哪里出错了。我还检查了 django-select2 的文档。请帮帮我。

【问题讨论】:

    标签: django django-forms django-select2


    【解决方案1】:

    我只是给出我的建议,因为你的代码不是很详细。

    1. 我希望你的 UnitOfMeasurement 模型中有一个字段 unit

    2. 我认为您的问题在于 __init__ 方法。删除self.fields['uom'].widget.queryset 行可能对您有用,因为我看不出它存在的任何理由。

    【讨论】:

      猜你喜欢
      • 2018-08-29
      • 2013-02-17
      • 1970-01-01
      • 2016-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-25
      • 2017-09-24
      相关资源
      最近更新 更多