我在这个问题上找到了很多答案,但却无法弄清楚如何将这个问题应用到我的问题中。
我为每个用户提供了一份愿望清单,许多用户可以拥有相同的愿望。我想要做的是,如果大卫有一个百事可乐列出pepsi =产品。米歇尔希望将其添加到她的列表中。我希望能够复制并保存产品,即百事可乐将其保存为可变,因此我可以使用Michelles用户名将其添加到数据库,所以现在我必须使用百事可乐但不同用户的数据库条目。我不希望michelle必须输入产品,只需单击按钮即可添加产品。我相信如果我修改我的创建功能,我可以做到这一点。我只是不知道如何使用该产品进入他们点击的特定模型。
的观点 def edit(request,id):
if request.method == 'POST':
Myblackbelt.objects.filter(what would i put here to pull the current product)
return redirect ('blackbelt:index')
def create(request):
if request.method == 'POST':
secret_id = User.objects.get(id=request.session['user_id'])
viewsResponse = Myblackbelt.objects.add_product(request.POST, secret_id)
return redirect ('blackbelt:index')
model
from __future__ import unicode_literals
from django.db import models
from ..logReg.models import User
class ProductManager(models.Manager):
def add_product(self, postData, user):
product = postData.get('product', None)
if product is not None and user:
Myblackbelt = self.create(product=product, creator=user)
def add_wish(self, postData, user):
pass
class Myblackbelt(models.Model):
product = models.CharField(max_length = 70)
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now = True)
loguser = models.ManyToManyField(User, related_name='loguser')
creator = models.ForeignKey(User, related_name='creator')
objects = ProductManager()
答案 0 :(得分:1)
在Django中,您可以通过从数据库中检索对象来复制对象,清除ID并调用save方法。在你的情况下,这将是这样的:
if request.method == 'POST':
product = Myblackbelt.objects.get(pk=product_id)
product.pk = None
product.creator = request.user
product.save()