我想用过滤器进行查询,然后在页面中显示要在Django中编辑的属性,如何实现 我的模型:
class DailyReport(models.Model):
userInfo = models.ForeignKey(UserInfo, on_delete=models.CASCADE)
enterTime = models.DateTimeField(null=True, blank=True)
exitTime = models.DateTimeField(null=True, blank=True) # add null=True in production mode
overTimeWork = models.FloatField(default=0)
absenceTime = models.FloatField(default=0)
restTime = models.FloatField(default=0)
archive = models.BooleanField(default=False)
rest = models.BooleanField(default=False)
absence = models.BooleanField(default=False)
class UserInfo(models.Model):
name = models.CharField(max_length=200, verbose_name='نام')
family = models.CharField(max_length=200, verbose_name="نام خانوادگی")
job = models.CharField(max_length=400, verbose_name="شغل")
startWorkTime = models.TimeField(verbose_name="ساعت شروع")
finishWorkTime = models.TimeField(verbose_name="ساعت اتمام")
allowedWorkTime = models.IntegerField(verbose_name=" ساعت کار")
allowedabsenceTime = models.FloatField()
allowedOverTimeWork = models.FloatField() # better define custom field for getting hour
fixedSalary = models.FloatField(verbose_name="حقوق ثابت") # define custom Field for Salary
overTimeHourSalary = models.FloatField(
verbose_name="حقوق ساعت اضافه کار") # define Field as above for Enter hour salary
absenceTimeHourSurcharge = models.FloatField(verbose_name="جریمه ساعت غیبت")
restTimeHourSubtraction = models.FloatField(verbose_name=" کسر ساعت مرخصی")
我的模型形式:
class DailyAbsenceRestForm(forms.ModelForm):
class Meta:
model = DailyReport
fields = ['absence', 'rest']
我的modelformset:
my_formset = modelformset_factory(DailyReport, form=DailyAbsenceRestForm)
formset=my_formset(queryset=DailyReport.objects.filter(exitTime__day=13).filter(userInfo__name='hassan'))
但是当我在Django模板中打印表单集时,它仅显示我的休息和缺勤字段,但我想显示有关DailyReport名称和家庭enterTime exitTime和...的信息。 如何在Django中实现?
答案 0 :(得分:0)
尝试删除fields = ['absence', 'rest']
。
答案 1 :(得分:0)
当我在Django模板中打印表单集时,它只显示休息和缺席
该行为就是您在DailyAbsenceRestForm.Meta.fields
属性中要求的。
如果要查看其他字段,则需要允许它们出现在表单上。 Meta.fields
规范用于restrict what fields will appear。
要么完全删除Meta.fields
限制,要么扩大该限制以包括要显示的字段。
如果要更改表单上字段的行为,请使用options on the form fields themselves。