【问题标题】:Django - Enter a list of values - ForeignKeyDjango - 输入值列表 - ForeignKey
【发布时间】:2021-02-26 21:49:48
【问题描述】:

对于 M2O 关系,我应该在表单中使用哪个字段?

models.py

class Studio(models.Model):
    name = models.SlugField(max_length=100)
    rating = models.CharField(max_length=10, default=None)

    def __str__(self):
        return self.name

class AnimeDetail(models.Model):
    title_japanese = models.CharField(max_length=250)
    studio = models.ForeignKey(Studio, on_delete=models.CASCADE, default=None)
    ...

forms.py


from .models import AnimeDetail

class AnimeDetailForm(forms.ModelForm):

    class Meta:
        model = AnimeDetail
        fields = ['icon', 'image', 'title_japanese', 'title_english', 'studio', 'genre', 'total_episodes', 'posted_episodes', 'season', 'date_started', 'date_finished', 'status', 'type_anime', 'age', 'source']

        widgets = {
            'title_japanese': forms.TextInput(attrs={'class': 'form-control'}),
            'studio':forms.Select(attrs={'class': 'form-control'}),
            ...
        }

'studio':forms.Select(attrs={'class': 'form-control'}) -> Select 在这种情况下不能正常工作,但在其他项目中工作没有问题。

错误

怎么了?

【问题讨论】:

    标签: python django django-models django-forms django-widget


    【解决方案1】:

    M2M 使用 SelectMultiple 代替 Select 小部件

    替换

    'studio':forms.SelectMultiple(attrs={'class': 'form-control'}),
    

    【讨论】:

      猜你喜欢
      • 2014-08-12
      • 2012-03-15
      • 2013-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-16
      • 2019-04-30
      • 2013-10-30
      相关资源
      最近更新 更多