如何更改默认选择选项?



我在models.py和form.py中设置了一个选择模型表单。但是我想让默认选项动态改变。

例如,如果它在数据库中有一个数据[user:test, status:wishlist, gameSlug:test-1]。我希望当我使用这个"测试"时;开户"test-1&;页面,所选内容将显示"愿望清单";为默认。下面是我的代码:

models.py:

class UsersMarksTags(models.Model):
STATUS = [
('booked', 'Booked'),
('wishlist', 'Add to Wishlist'),
('Not interested', 'Not intersted'),
]
user = models.ForeignKey(settings.AUTH_USER_MODEL, on_delete=models.CASCADE);
status = models.CharField(max_length = 200, null = False, choices = STATUS, default = 'booked');
gameSlug = models.CharField(max_length = 200, null = False);

form.py:

class statusForm(forms.ModelForm):
class Meta:
model = UsersMarksTags;
fields = ['status'];

views.py:

class showGameInformation(FormView):
template_name = "showList/gameDetail.html";
form_class = statusForm;
def form_valid(self, form):
.......

test.html:

<form method = 'POST'>
{% csrf_token %}
{{ form.as_p }}
<input type='submit' value='Submit' />
</form>

试试这个

class statusForm(forms.ModelForm):
class Meta:
model = UsersMarksTags;
fields = ['status']

def __init__(self, *args, **kwargs):
super(statusForm, self).__init__(*args, **kwargs)
self.initial['status'] = 'wishlist'

你可以根据你喜欢的任何条件来设置。

最新更新