Python Django如何使用模型类保存选择" CHOICE"?

时间:2018-03-25 17:58:50

标签: python django database save choicefield

在我的models.py中,我有LEVEL_CHOICESLevel的课程。 首先,我使用文本字段Level构建了我的项目并且它有效。然后我决定更改我的Level,以便仅向用户提供某些选择。因此我编辑了models.py,现在我已经:

class Eleve(models.Model):
    FIRST = 'FIRST'
    SECOND = 'SECOND'
    THIRD = 'THIRD'
    LEVEL_CHOICES = (
        ('FIRST', 'School'),
        ('SECOND', 'HighSchool'),
        ('THIRD', 'University'),
    )
   Level = models.CharField(max_length=3, choices=LEVEL_CHOICES, default='FIRST')

我认为我的views.py存在问题,因为我可以通过管理员应用保存课程Eleve。我还使用装饰器来获得REcaptchaV2。

def Form(request):
        form = ResgisterStud(request.POST)
        if request.recaptcha_is_valid and form.is_valid():
                form.save(commit=False)
                form.save()
                return render(request, 'form.html', {'form': form})
        else:
                return render(request, 'form.html', {'form': form})

my forms.py

class ResgisterStud(forms.ModelForm):
    class Meta:
        model = Eleve

我的Form.html

    <form action="{% url "form" %}" method="post" enctype="multipart/form-data">
                            {% csrf_token %}
    <div class="col-md-6 form-group">
                                    {{ form.Level|add_class:"form-control" }}
                                </div>
<script src='https://www.google.com/recaptcha/api.js'></script>
                            <div class="form-group g-recaptcha" data-sitekey="***"></div>
                             {% if messages %}
                            {% for message in messages %}
                            {{ message }}
                            {% endfor %}
    {% endfor %}
     {% endif %}
</form>

0 个答案:

没有答案