我有与该表单相关的模型,当用户从 go submit 中单击提交按钮并保存在数据库中时,我想要的是,但在这里我得到了错误,所以要实现的是单个地址在其中提交,而不是链接的所有地址使用 whit 模型选择字段,所以我知道如何实现这一点
这是我的models.py
class Order(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE,)
item = models.ForeignKey(Item, on_delete=models.CASCADE )
address = models.ForeignKey(Address, on_delete=models.CASCADE)
price = models.FloatField(blank=False)
update_at = models.DateTimeField(auto_now=True, editable=False)
def placeorder(self):
self.save()
def __str__(self):
return self.user.username
class Address(models.Model):
eighteen_choice = {
('Yes','Yes'),
('No','No')
}
phoneNumberRegex = RegexValidator(regex = r"^\d{10,10}$")
pincodeRegex = RegexValidator(regex = r"^\d{6,6}$")
user = models.ForeignKey(User, on_delete=models.CASCADE, related_name='address')
reciever_name = models.CharField(max_length=200, blank=False)
phone_no = models.CharField(validators = [phoneNumberRegex], max_length = 10, blank=False)
alt_phone_no = models.CharField(validators = [phoneNumberRegex], max_length = 10, blank=True)
state = models.CharField(max_length=50, choices=state_choice, blank=False)
pincode = models.CharField(validators = [pincodeRegex], max_length = 6, blank=False)
eighteen = models.CharField(blank=False, choices=eighteen_choice, default='Yes', max_length=4 )
city = models.CharField(max_length=100, blank=False)
address = models.CharField(max_length=500, blank=False)
locality = models.CharField(max_length=300, blank=True)
joined_date = models.DateTimeField(default=timezone.now,editable=False)
update_at = models.DateTimeField(auto_now=True)
def __str__(self):
return self.user.username
我的意见.py
class Checkout(View):
def post (self, request,):
user = request.user
address = Address.objects.filter(user=request.user)
ids = (list(request.session.get('cart').keys()))
items = Item.get_items_by_id(ids)
for item in items:
order = Order(user=user, item=item, address=address, price=item.price)
order.save()
request.session['cart'] = {}
return redirect('transactions:cart')
我的 html
<div class="modal-body">
<form action="{% url 'transactions:checkout' %}" method="Post">
{% csrf_token %}
#in that i want i want to user select a address instead of all his address
with miltiple choice field
<input type="submit" class="btn float-right btn-primary" value='Go Ahead'>
</form>
</div>