如何解决如何使用Django表单从外键呈现一种特定数据
我想要的
我正在尝试构建一个应用程序,以便用户可以从商店预订一些产品。我的预订模型中有一个名为客户的外键。我只想在该字段中呈现当前登录的客户。
问题
问题是当我尝试使客户通过下拉菜单抓住所有现有客户时。 我的问题是如何从客户外键中过滤当前登录的客户。我附上了截图 Untitled.png
此处 views.py
@login_required(login_url='adminlogin')
@allowed_users(allowed_roles=['USER'])
def User_Booking(request):
#booking = Booking.object.get(id=pk)
bookingForm = forms.BookingForm()
if request.method == 'POST':
bookingForm = forms.BookingForm(request.POST)
if bookingForm.is_valid():
booking = bookingForm.save(commit=False)
booking.save()
return render(request,'user_booking.html',{'bookingForm':bookingForm})
此处 models.py
class Customer(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
profile_image = models.ImageField(upload_to='profile_pic/CustomerProfilePic/',null=True,blank=True)
address = models.CharField(max_length=40,null=True)
mobile = models.CharField(max_length=20,null=True)
date_created = models.DateTimeField(auto_now_add=True,null=True)
status=models.BooleanField(default=False)
@property
def get_name(self):
return self.user.first_name+" "+self.user.last_name
@property
def get_id(self):
return self.user.id
def __str__(self):
return "{} {}".format(self.user.first_name,self.user.last_name)
class Booking(models.Model):
customer = models.ForeignKey(Customer,on_delete=models.SET_NULL)
Package = models.ForeignKey(Package,on_delete=models.SET_NULL)
address = models.CharField(max_length=40,null=True)
mobile = models.CharField(max_length=20,null=True)
date_created = models.DateTimeField(auto_now_add=True,null=True)
status=models.BooleanField(default=False)
def __str__(self):
return self.customer.get_name
此处 user_booking.html
<form action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="mb-3">
{% render_field bookingForm.customer class="form-control"%}
<div class="invalid-feedback"> Please enter your shipping address. </div>
</div>
<div class="mb-3">
{% render_field bookingForm.Package class="form-control"%}
<div class="invalid-feedback"> Please enter your shipping address. </div>
</div>
<div class="mb-3">
{% render_field bookingForm.address class="form-control" placeholder="Address"%}
<div class="invalid-feedback"> Please enter your shipping address. </div>
</div>
<div class="mb-3">
{% render_field bookingForm.mobile class="form-control" placeholder="Mobile" %}
<div class="invalid-feedback"> Please enter your shipping address. </div>
</div>
<hr class="mb-4">
<button class="btn btn-primary" type="submit">Continue to checkout</button>
</form>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。