2017-03-27 67 views
0

我在这个问题上找到了很多答案,但无法弄清楚如何将此应用于我的问题。将对象从一个用户配置文件复制到另一个用户配置文件中django

我对每个用户都有一个心愿单,许多用户可以有同样的愿望。我想要做的是,如果大卫有一个百事可乐列出pepsi =产品。米歇尔希望将其添加到她的名单中。我希望能够复制和保存产品,即百事可乐保存它作为一个可以使用,所以我可以将它添加到数据库与Michelles用户名,所以现在我必须与百事可乐,但不同的用户数据库条目。我不希望米歇尔必须进入产品,只需点击按钮添加它。我相信如果我修改我的创建功能,我可以做到这一点。我只是不知道用什么来使产品进入他们点击的特定模型。

意见 高清编辑(请求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() 

回答

1

在Django中你可以从数据库中检索它,清除ID和调用保存方法复制的对象。在你的情况下,看起来像这样:

if request.method == 'POST': 
    product = Myblackbelt.objects.get(pk=product_id) 
    product.pk = None 
    product.creator = request.user 
    product.save() 
相关问题