gpt4 book ai didi

python - 如何在 Django 表单中显示特定数据?

转载 作者:太空宇宙 更新时间:2023-11-03 20:23:33 25 4
gpt4 key购买 nike

我是 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 中的书籍,在字段 Condition is equal to available

但是我不知道怎么做!提前致谢

最佳答案

您必须过滤符合您想要的条件的对象,并用这些对象填写选择字段。

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 - 如何在 Django 表单中显示特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com