簡體   English   中英

如何在Django表單中顯示特定數據?

[英]How can I show specific data un my Django form?

我是Django的入門者,並且正在開發一個用於借書的應用程序,現在我正嘗試使用以下模型制作Form:

在我的應用書中

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中的書,該書在字段中的條件等於可用

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

您必須過濾滿足所需條件的對象,然后使用這些對象填寫選擇字段。

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')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM