Where exactly are you trying to insert a user ID? On the Product class? During what operation?
-James On Mon, Aug 31, 2015 at 4:58 AM, Remaze Vs <remaze...@gmail.com> wrote: > I am trying to insert session login user id in database... here is my code > > view.py > > from django.shortcuts import render,redirect, Http404 > from django.forms import ModelForm > > # Create your views here. > > from marketing.forms import EmailForm > from marketing.models import MarketingMessage, Slider > from .models import Product, ProductImage,Book,Category,Product > from products.models import Product > > > class DealsForm(ModelForm): > class Meta: > model = Product > fields = > ['title','description','category','price','sale_price','slug','active','update_defaults','user'] > exclude = ('user',) > > > > > def deals(request, template_name='products/deals.html'): > form = DealsForm(request.POST or None) > if form.is_valid(): > form.save() > return redirect('home') > return render(request, template_name, {'form':form}) > > > > Model.py file > > > from django.conf import settings > from django.core.urlresolvers import reverse > from django.db import models > from django.db.models.signals import post_save > from django.contrib.auth.models import User > > > class Book(models.Model): > name = models.CharField(max_length=200) > pages = models.IntegerField() > email = models.CharField(max_length=200) > > > def __unicode__(self): > return self.name > > > > class Category(models.Model): > title = models.CharField(max_length=120) > description = models.TextField(null=True, blank=True) > slug = models.SlugField(unique=True) > featured = models.BooleanField(default=None) > timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) > updated = models.DateTimeField(auto_now_add=False, auto_now=True) > active = models.BooleanField(default=True) > > > def __unicode__(self): > return self.title > > > class Product(models.Model): > title = models.CharField(max_length=120) > description = models.TextField(null=True, blank=True,max_length=200) > category = models.ManyToManyField(Category, null=True, blank=True) > price = models.DecimalField(decimal_places=2, max_digits=100, > default=29.99) > sale_price = models.DecimalField(decimal_places=2, max_digits=100,\ > null=True, blank=True) > slug = models.SlugField(unique=True) > timestamp = models.DateTimeField(auto_now_add=True, auto_now=False) > updated = models.DateTimeField(auto_now_add=False, auto_now=True) > active = models.BooleanField(default=True) > update_defaults = models.BooleanField(default=False) > user = models.ForeignKey(User) > > def __unicode__(self): > return self.title > > class Meta: > unique_together = ('title', 'slug') > > def get_price(self): > return self.price > > def get_absolute_url(self): > return reverse("single_product", kwargs={"slug": self.slug}) > > def my_view(request): > product = DealsForm.save(commit=False) > product.user = request.username > product.save() > > > class ProductImage(models.Model): > product = models.ForeignKey(Product) > image = models.ImageField(upload_to='products/images/') > featured = models.BooleanField(default=False) > thumbnail = models.BooleanField(default=False) > active = models.BooleanField(default=True) > updated = models.DateTimeField(auto_now_add=False, auto_now=True) > > def __unicode__(self): > return self.product.title > > > > > class VariationManager(models.Manager): > def all(self): > return super(VariationManager, self).filter(active=True) > > def sizes(self): > return self.all().filter(category='size') > > def colors(self): > return self.all().filter(category='color') > > > VAR_CATEGORIES = ( > ('size', 'size'), > ('color', 'color'), > ('package', 'package'), > ) > > > class Variation(models.Model): > product = models.ForeignKey(Product) > category = models.CharField(max_length=120, choices=VAR_CATEGORIES, > default='size') > title = models.CharField(max_length=120) > image = models.ForeignKey(ProductImage, null=True, blank=True) > price = models.DecimalField(max_digits=100, decimal_places=2, null=True, > blank=True) > updated = models.DateTimeField(auto_now_add=False, auto_now=True) > active = models.BooleanField(default=True) > objects = VariationManager() > > def __unicode__(self): > return self.title > > > > def product_defaults(sender, instance, created, *args, **kwargs): > if instance.update_defaults: > categories = instance.category.all() > print categories > for cat in categories: > print cat.id > if cat.id == 1: #for t-shirts > small_size = Variation.objects.get_or_create(product=instance, > category='size', > title='Small') > medium_size = Variation.objects.get_or_create(product=instance, > category='size', > title='Medium') > large_size = Variation.objects.get_or_create(product=instance, > category='size', > title='Large') > instance.update_defaults = False > instance.save() > #print args, kwargs > > post_save.connect(product_defaults, sender=Product) > > > > can someone help me..? > > > > > > > > > > > -- > You received this message because you are subscribed to the Google Groups > "Django users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to django-users+unsubscr...@googlegroups.com. > To post to this group, send email to django-users@googlegroups.com. > Visit this group at http://groups.google.com/group/django-users. > To view this discussion on the web visit > https://groups.google.com/d/msgid/django-users/ddb826d8-d0b7-400c-b300-7e570ab5402f%40googlegroups.com > <https://groups.google.com/d/msgid/django-users/ddb826d8-d0b7-400c-b300-7e570ab5402f%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/CA%2Be%2BciX%2BOeSRG2w6tE6CmevG4RnE8RE%2BsfVZv4B6a%2BhaUY6vGA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.