我試圖創建一個簡單的窗體,通過詢問窗體中的ID來拉起記錄。如何在django表單中包含id字段?
views.py
class Bill(models.Model):
"""
Represents a single purchase made by a customer at a business.
"""
business = models.ForeignKey(Businesses)
customer = models.ForeignKey(User, blank=True, null=True)
charge = models.ForeignKey(Charge, blank=True, null=True)
amount = models.IntegerField(verbose_name='Purchase amount (in cents)',
validators=[MinValueValidator(0)])
tip = models.IntegerField(verbose_name='Tip amount (in cents)',
validators=[MinValueValidator(0)])
comments = models.CharField(max_length=255, blank=True, null=True)
timestamp = models.DateTimeField(auto_now_add=True)
forms.py
從Django的進口形式 從django.forms進口的ModelForm 從transactions.models進口賬單
class BillSelectForm(ModelForm):
class Meta:
model = Bill
fields = ('id',)
views.py
@login_required(login_url='/sign-in/')
def select_bill(request):
"""
Finds a bill based on its ID number.
"""
if request.method == 'POST':
form = BillSelectForm(request.POST)
if form.is_valid():
pass
# look up db for id number
# go to bill view page if id found AND bill not paid
# go back to same page and create message saying wrong bill
else:
form = BillSelectForm()
return render(request, 'bill_select.html', {'form': form})
然而,在模板上,當我使用{{ form.as_p }}
,我看到什麼都沒有。思考?
謝謝,這就是我一直在尋找的!因爲我們沒有指定一個Model,所以我認爲該類應該從'forms.Form'繼承,因爲'ModelForm'給出了一個'ValueError'。 – halsdunes
對不起,錯字。感謝您指出。與您的項目一切順利 – e4c5
謝謝e4c5! :) – halsdunes