python - Django - 输入值列表 - ForeignKey
问题描述
对于 M2O 关系,我应该在表单中使用哪个字段?
模型.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)
...
表格.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 在这种情况下不能正常工作,但在其他项目中工作没有问题。
怎么了?
解决方案
M2M 使用 SelectMultiple 代替 Select 小部件
代替
'studio':forms.SelectMultiple(attrs={'class': 'form-control'}),
推荐阅读
- r - 连接两个数据帧并替换 R 中的 NA 值并将结果转换为 csv 文件
- django - 字典未在页面中呈现
- pandas - 使用 FacetGrid 按月和年绘制线图
- python - 如何遍历嵌套字典并从包含特定键的子字典中提取键和值?
- python - 使用 numba 快速重采样数组
- javascript - 使用谷歌应用脚本打开一个带有打开框架的 URL
- numeral.js - Numeral.js 格式化非常大的数字
- ios - 横向方向的不同视图/布局
- java - FindBugs 检测到以下代码的 SIC_INNER_SHOULD_BE_STATIC_ANON 警告
- java - 正确的类层次结构