我想在下拉菜单“选择行业”中设置一个初始值。一旦用户从下拉列表中选择了一个有效值并保存了表单,理想情况下,如果用户要返回表单,则该选项在列表中将不再可见。如果没有办法这样做,那很好。
Models.py
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
phone = models.CharField(blank=True, null=True, max_length=100)
industry = models.IntegerField(default=0)
Forms.py
class EditUserProfileForm (forms.ModelForm):
industry = forms.ChoiceField()
def __init__(self, *args, **kwargs):
super(EditUserProfileForm, self).__init__(*args, **kwargs)
self.fields['industry'].choices = [(t.industry, t.industryname) for t in Industry.objects.all()]
class Meta:
model = UserProfile
fields = (
'phone',
'industry',
)
是否可以在不创建行业名称为“ Select and Industry”的Industry对象实例的情况下设置默认值?
谢谢!
答案 0 :(得分:0)
如果industry
是代表单独表中条目的整数,则它是外键。使其成为实际的ForeignKey字段;然后Django会在您的表单中自动为该相关模型输出一个选择框。