[英]Display Database entry as option in a Django Form
I am trying to create an inventory app and one reservation app.我正在尝试创建一个库存应用程序和一个预订应用程序。
I am trying to take entries from the inventory model and one can reserve it with the help of reservation app.我正在尝试从库存 model 中获取条目,并且可以在预订应用程序的帮助下进行预订。
What I am trying to achieve:我想要达到的目标:
For now, I am creating a form like this:现在,我正在创建一个这样的表单:
But it is very poor method, because form is not getting validated, I am redirecting user to other web page where there are serial numbers present.但这是非常糟糕的方法,因为表单没有得到验证,我将用户重定向到其他存在序列号的 web 页面。
I am trying to see how can we make the serial numbers available there itself as a drop down so that user can select which serial number to select.我正在尝试查看我们如何将序列号作为下拉列表提供,以便用户可以将 select 序列号设为 select。
I am trying to find its solution from very long via all over the internet, but it seems very difficult to me.我试图通过整个互联网从很长时间内找到它的解决方案,但对我来说似乎很难。
If anyone knows how it can be done.如果有人知道如何做到这一点。 That will be extremely grateful.那将非常感激。 I am providing almost everything of the necessary code which can be required below:我提供了几乎所有必要的代码,如下所示:
inventory_app/models.py库存应用程序/models.py
from django.db import models
#from django.utils import timezone
# Create your models here.
class Form1(models.Model):
item = models.CharField(max_length=125)
quantity = models.IntegerField(default=0)
vendor = models.CharField(max_length=125)
inward = models.IntegerField(default=1234)
sno = models.CharField(max_length=100)
date = models.DateField()
date_received = models.DateField()
def __str__(self):
return self.item
reservation_app/models.py预订应用程序/models.py
from django.db import models
# Create your models here.
class Reserve(models.Model):
team = models.CharField(max_length=125 , default="DevOps" )
rsno = models.CharField(max_length=125, default="ABCD12345")
mac_address = models.CharField(max_length=125 , default="AA-00-04-00-XX-YY")
hostname = models.CharField(max_length=125, default="gitlab.altiostar.com")
ue = models.CharField(max_length=125 , null=True)
slot = models.DateField(null=True)
def __str__(self):
return self.team
reservation_app/views.py预订应用程序/views.py
from django.shortcuts import render, HttpResponse
from .models import Reserve
#from reservation_app.models import Reserve
# Create your views here.
def reserve(request):
if request.method == "POST":
team = request.POST.get('team')
rsno = request.POST.get('rsno')
mac_address = request.POST.get('mac_address')
hostname = request.POST.get('hostname')
ue = request.POST.get('ue')
slot = request.POST.get('slot')
reserve = Reserve( team=team , rsno=rsno, slot=slot , mac_address = mac_address , hostname = hostname , ue = ue ) #security_stamp_date=security_stamp_date
reserve.save()
return render(request, 'home.html')
inventory_app/views.py库存应用程序/views.py
from django.shortcuts import render, HttpResponse
from inventory_app.models import Form1
import datetime
from .models import Form1
import csv
from .filters import ItemFilter
def form1(request):
if request.method == "POST":
item = request.POST.get('item')
quantity = request.POST.get('quantity')
sno = request.POST.get('sno')
inward = request.POST.get('inward')
vendor = request.POST.get('vendor')
date_received = request.POST.get('date_received')
# security_stamp_date = request.POST.get('security_stamp_date')
form1 = Form1(item=item, quantity=quantity , inward=inward , sno=sno , vendor=vendor, date=datetime.datetime.now() , date_received=date_received ) #security_stamp_date=security_stamp_date
form1.save()
return render(request, 'form1.html')
home.html page of reservation_app home.html reservation_app页面
<div class="form-group">
<label for="exampleFormControlInput1">Radio Serial Number</label>
<input type="text" class="form-control" id="exampleFormControlInput1" name= "rsno" placeholder="S/N123ABC123" required >
</div>
<a href="http://127.0.0.1:8000/form1_entries/" target="_blank" class="btn btn-info btn-sm" role="button" aria-disabled="true"> Check Available Serial Numbers </a>
<div class="form-group">
<label for="exampleFormControlInput1">Book your slot for Date</label>
<input type="datetime-local" class="form-control" id="exampleFormControlInput1" name= "slot" >
</div>
<button type="submit" class="btn btn-primary"> Submit </button>
form1.html of inventory_app form1.html of inventory_app
<div class="form-group">
<label for="exampleFormControlInput1">Serial Number</label>
<input type="text" class="form-control" id="exampleFormControlInput1" name= "serial_number" placeholder="S/N123ABC123" required >
</div>
<button type="submit" class="btn btn-primary"> Submit </button>
Thanks for your time:)谢谢你的时间:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.