如何使用Django在数据库中创建一个视图来记录ModelMultipleChoiceField表单中的数据?

2024-04-24 00:07:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我在我的网站上使用了一个ModelMultipleChoiceField表单,因为它可以帮助我检查是否有用户(雇员)在工作。你知道吗

但我不明白如何从表单中恢复数据并将其写入模型(数据库)。你知道吗

你知道吗表格.py地址:

class HoursDeclarationForm(forms.Form):
    number_of_hours = forms.FloatField(required=True)
    presense = forms.ModelMultipleChoiceField(
        queryset=User.objects.all(),
        widget=forms.CheckboxSelectMultiple
    )

你知道吗视图.py地址:

from django.contrib.auth.models import User 
from registration.models import UserExtention


def hours_declaration (request):
    form = HoursDeclarationForm(request.POST or None)

    if form.is_valid():
        number_of_hours = form.cleaned_data['number_of_hours']
        presence = form.cleaned_data['presence']

        for user in presence :
            #this is the part I can not achieve

    return render (
        request,
        'HoursDeclaration/hours_declaration.html'
        , locals()
        )

你知道吗型号.py地址:

class UserExtention (models.Model):
    user = models.OneToOneField(User, on_delete = models.CASCADE, null=True, verbose_name='utilisateur')
    town = models.CharField (max_length=50, null=True, blank=True, verbose_name='ville')
    address = models.CharField (max_length=500, null=True, blank=True, verbose_name='adresse')
    hours_number = models.IntegerField (null=True, blank=True, verbose_name="nombre d'heure effectuée par le salarié")

谢谢你的回答!你知道吗


Tags: ofnamepyformtruenumberverbosemodels
1条回答
网友
1楼 · 发布于 2024-04-24 00:07:33

我很抱歉,但你的问题不清楚,但你纠正的代码,你可以随时编辑问题

在型号.py你知道吗

class UserExtention (models.Model):
user = models.OneToOneField(User, on_delete = models.CASCADE, null=True, verbose_name='utilisateur')
town = models.CharField (max_length=50, null=True, blank=True, verbose_name='ville')
address = models.CharField (max_length=500, null=True, blank=True, verbose_name='adresse')
hours_number = models.IntegerField (null=True, blank=True, verbose_name="nombre d'heure effectuée par le salarié")

在表格.py你知道吗

from django import forms
from django.contrib.auth.models import User


class HoursDeclarationForm(forms.Form):
    number_of_hours = forms.FloatField(required=True)
    presense = forms.ModelMultipleChoiceField(
        queryset=User.objects.all(),
        widget=forms.CheckboxSelectMultiple
    )

在视图.py你知道吗

def hours_declaration(request):
form = HoursDeclarationForm(request.POST or None)

if form.is_valid():
    presence="a"
    number_of_hours ="3"
    form = HoursDeclarationForm
    if form.is_valid():
        number_of_hours = form.cleaned_data['number_of_hours']
        presence = form.cleaned_data['presence']

    for user in presence:
        print(user)
# this is the part I can not achieve
contex = {
    'a': form,
}

return render(request, "hours_declaration.html",contex)

在网址.py你知道吗

urlpatterns = [
path('a', views.hours_declaration, name='index'),
path('admin/', admin.site.urls),

]

小时内_声明.html你知道吗

<html>
<body>
{{a}}
</body>
</html>

**您不需要小时申报

从这条线上创建超级用户 python管理.py创建超级用户 输入用户名、电子邮件和密码 然后转到http://127.0.0.1:8000/admin并登录 转到http://127.0.0.1:8000/a**

相关问题 更多 >