我在网站上使用ModelMultipleChoiceField表单,因为它可以帮助我检查用户(员工)是否在工作。
但是我不明白如何从表单中恢复数据以将其写入模型(数据库)中。
form.py:
class HoursDeclarationForm(forms.Form):
number_of_hours = forms.FloatField(required=True)
presense = forms.ModelMultipleChoiceField(
queryset=User.objects.all(),
widget=forms.CheckboxSelectMultiple
)
views.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()
)
models.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é")
谢谢您的回答 !
参考方案
非常抱歉,您的问题尚不清楚,但是您更正了代码后就可以随时编辑问题
在models.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é")
在form.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
)
在views.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)
在urls.py中
urlpatterns = [
path('a', views.hours_declaration, name='index'),
path('admin/', admin.site.urls),
]
在hours_declaration.html中
<html>
<body>
{{a}}
</body>
</html>
**您不需要HoursDeclaration目录
并从此推荐行中创建超级用户
python manage.py createsuperuser
输入用户名和电子邮件并通过
然后转到http://127.0.0.1:8000/admin并登录
并转到http://127.0.0.1:8000/a **
我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。
如何用'-'解析字符串到节点js本地脚本? - python我正在使用本地节点js脚本来处理字符串。我陷入了将'-'字符串解析为本地节点js脚本的问题。render.js:#! /usr/bin/env -S node -r esm let argv = require('yargs') .usage('$0 [string]') .argv; console.log(argv…
Python:传递记录器是个好主意吗? - python我的Web服务器的API日志如下:started started succeeded failed 那是同时收到的两个请求。很难说哪一个成功或失败。为了彼此分离请求,我为每个请求创建了一个随机数,并将其用作记录器的名称logger = logging.getLogger(random_number) 日志变成[111] started [222] start…
Python-Excel导出 - python我有以下代码:import pandas as pd import requests from bs4 import BeautifulSoup res = requests.get("https://www.bankier.pl/gielda/notowania/akcje") soup = BeautifulSoup(res.cont…
Matplotlib'粗体'字体 - python跟随this example:import numpy as np import matplotlib.pyplot as plt fig = plt.figure() for i, label in enumerate(('A', 'B', 'C', 'D')): ax = f…