python - Django:不会自动选择特定用户的帖子
问题描述
您好,正在开展一个项目,在该项目中,用户使用多个用户数据在网站上发布了帖子,当司机看到该帖子时,他将他们的报价添加到该帖子中,但是当司机提交帖子时......在管理员级别选择了特定内容自动但未选择他添加价格的帖子这是我的帖子model.py
class Loader_post(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE ,related_name="Loader")
pick_up_station = models.CharField(max_length=150)
destination_station = models.CharField(max_length=150)
sender_name = models.CharField(max_length=150)
phone_number = PhoneNumberField(null=False, blank=False, unique=True)
receiver_name = models.CharField(max_length=150)
这是我为特定帖子添加价格的第二个模型
class price(models.Model):
my_post = models.ManyToManyField(Loader_post, related_name='prices')
user = models.ForeignKey(User, on_delete=models.CASCADE, null=True, default='')
driver_price = models.CharField(max_length=150, null=True)
driver_name = models.CharField(max_length=150, null=True)
approved_price = models.BooleanField(default=False)
status = models.BooleanField(default=False)
这是我对帖子views.py的加价
@login_required
def add_price_to_post(request, pk):
post = get_object_or_404(Loader_post, pk=pk)
user = request.user
if request.method == "POST":
form = price_form(request.POST)
if form.is_valid():
ps = form.save(commit=False)
ps.user = request.user
ps.status = True
ps.post = post
ps.save()
return redirect('Driver:Driverview')
else:
form = price_form()
return render(request, 'price_form.html', {'form': form})
这是我的 html 添加帖子按钮
{% for loader in Loader %}
这是循环,这是按钮
<a href="{% url 'Driver:price' pk=loader.pk %}" class="btn btn-full">add price</a>
解决方案
price
它是和Loader_post
模型之间的多对多关系,因此ps.post = post
不起作用。您需要使用add()
方法来添加新帖子。像这样:
ps.save()
ps.my_post.add(post)