python - 如何在我的 Django 表单中显示特定数据?
问题描述
我是 Django 的初学者,我正在制作一个用于借书的应用程序,现在我正在尝试使用这些模型制作一个表单:
在我的应用程序中
Class CopyB(models.Model):
Copy= models.Autofield(primary key=True)
Condition= models.Charfield(max_lenght=20)
IdBook=models.ForeignKey(Book, blank= false, null= false ,on_delete= models.CASCADE)
同样在我的应用用户中
Class User(models.Model):
Myid= models.Charfield(primary_key=True, max_length=20)
Name= models.Charfield(max_length=20)
Lastname= models.Charfield(max_length=20)
在我的应用贷款中
From apps.books.models import CopyB
From apps.users.models import User
Class loan(models.Model):
IdLoan= models.Autofield(primary_key=True)
IdB= models.ForeignKey(CopyB,blank=False, null=False)
IdU= models.ForeignKey(User,blank=False, null=False)
我想要做的是从模型贷款中制作一个表单,并在 IdB 字段上的该表单上我只想在选择输入中显示模型 CopyB 中的 Books 字段条件等于可用
但是不知道怎么弄!提前致谢
解决方案
您必须过滤满足您想要的条件的对象并用它们填写选择字段。
class LoanForm(forms.ModelForm):
IdB= forms.ModelChoiceField(queryset=CopyB.objects.filter(condition='available'))
class Meta:
model = Loan
fields = "__all__"
或者
class LoanForm(forms.ModelForm):
class Meta:
model = Loan
fields = "__all__"
def __init__(self, *args, **kwargs):
super(LoanForm, self).__init__(*args, **kwargs)
self.fields['IdB'].queryset = CopyB.objects.filter(condition='available')
推荐阅读
- python - Jupyter 笔记本中未显示的绘图
- javascript - 带有复选框的 Javascript 电子邮件 ID 验证
- git - 获取以前的分支名称
- wordpress - 与 .htaccess 配置不同的网站重定向
- php - 是否可以确定网站是否已编码?
- c++ - 未初始化和复制的指针变量的地址
- python - Python:如何以混合格式解析日期?
- sql - SQL查询;返回主表的所有记录,并在条件下从连接表中添加字段;在连接表中找不到匹配项时将值留空
- c# - JsonHttpContent 与 ASP.NET Core 3.1
- html - 正确 mat-ccard-header 中的 mat-card-avatar 图像高度