Man this solved my problem, I can't believe that is spend few hours not seeing this.... But now that I am able to create products with my current user, i have another problem:
When I login with admin while I am logged in with my current user, and then create product, product is being added as by admin not as by current user as it should be. otherwise when I am not logged in with admin(but only with current user) everything seems to work fine. Can you help me maybe with this one? Thanks. On Thursday, May 25, 2017 at 11:19:11 PM UTC+2, Vijay Khemlani wrote: > > "form.instance.user" > > should be > > "form.instance.seller" > > But the "null value in column" error could also apply to any of the > non-nullable fields in your Product model that are not set by the time > you save the instance. > > On 5/25/17, Ismail Sarenkapic <[email protected] <javascript:>> wrote: > > Tnx. > > The slug is not important here. > > The main question is how do I add product with current user! > > > > On Thursday, May 25, 2017 at 8:00:08 PM UTC+2, Muhammad wrote: > >> > >> Ismail, > >> > >> You don't seem to be handling the value for Product.slug anywhere, > either > >> > >> in the model or the view. > >> > >> You can fix the slug issue by overriding the Product model's save () > >> method like this: > >> > >> def save (self, *args, **kwargs): > >> if not self.slug: > >> self.slug = slugify(self.title) > >> super(Product, self).save (*args, **kwargs) > >> > >> This way, you can automatically generate the value of the slug field > when > >> > >> a valid form is submitted. > >> > >> If you are still having problems, please, do let us know. > >> > >> All the best. > >> > >> Sincerely, > >> Muhammad > >> > >> On May 25, 2017 7:20 AM, "Ismail Sarenkapic" <[email protected] > >> <javascript:>> wrote: > >> > >> Hi, I'm trying to create a digital marketplace site where users will be > >> able to register and submit their products. > >> I created the Product model and connected it with User with foreign > >> key.Everything seems to be alright, but when I submit my product i get > >> the > >> following error: > >> > >> null value in column violates not-null constraint > >> it looks like relation between product and user is not properly > >> configured(regardless of my mixin that is suppose to handle it) > >> > >> > __________________________________________________________________________________________________________________________________ > > > >> note that I'm using: > >> > >> database:postgresql > >> > >> allauth(for user registration) > >> > >> > __________________________________________________________________________________________________________________________________ > > > >> > >> ________ > >> models.py > >> > >> from django.conf import settings > >> from django.db import models > >> from django.db.models.signals import pre_save, post_save > >> from django.core.urlresolvers import reverse > >> from django.utils.text import slugify > >> # Create your models here. > >> > >> > >> > >> class Product(models.Model): > >> seller = models.ForeignKey(settings.AUTH_USER_MODEL) > >> #user = models.OneToOneField(settings.AUTH_USER_MODEL) > >> # user = models.ForeignKey(settings.AUTH_USER_MODEL) > >> # managers = models.ManyToManyField(settings.AUTH_USER_MODEL, > >> related_name="managers_products", blank=True) > >> title = models.CharField(max_length=30) > >> #owiuerpoajsdlfkjasd;flkiu1p3o4u134123 ewjfa;sd > >> slug = models.SlugField(blank=True, unique=True) > >> description = models.TextField() > >> price = models.DecimalField(max_digits=100, decimal_places=2, > >> default=9.99, null=True,) #100.00 > >> > >> > >> def __unicode__(self): #def __unicode__(self): > >> return self.title > >> > >> _______ > >> views.py > >> > >> > >> from django.views import View > >> from django.views.generic import ( > >> CreateView, > >> ) > >> > >> from .forms import ProductModelForm > >> from .mixins import FormUserNeededMixin > >> # Create your views here. > >> > >> > >> class ProductCreateView(FormUserNeededMixin, CreateView): > >> form_class = ProductModelForm > >> template_name = 'create_view.html' > >> > >> _______ > >> forms.py > >> > >> from django import forms > >> > >> from django.utils.text import slugify > >> > >> from .models import Product > >> > >> > >> class ProductModelForm(forms.ModelForm): > >> class Meta: > >> model = Product > >> fields = [ > >> "title", > >> "description", > >> "price", > >> ] > >> > >> ________ > >> mixins.py > >> > >> from django import forms > >> from django.forms.utils import ErrorList > >> > >> class FormUserNeededMixin(object): > >> > >> def form_valid(self, form): > >> if self.request.user.is_authenticated(): > >> form.instance.user = self.request.user > >> return super(FormUserNeededMixin, self).form_valid(form) > >> else: > >> form._errors[forms.forms.NON_FIELD_ERRORS] = > ErrorList(["User > >> must be logged in to continue."]) > >> return self.form_invalid(form) > >> > >> > >> > >> > >> > >> > >> > >> -- > >> 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 [email protected] <javascript:>. > >> To post to this group, send email to [email protected] > >> <javascript:>. > >> Visit this group at https://groups.google.com/group/django-users. > >> To view this discussion on the web visit > >> > https://groups.google.com/d/msgid/django-users/0d2d44eb-a2df-4f00-8d60-3f163ed72c9b%40googlegroups.com > > >> > >> < > https://groups.google.com/d/msgid/django-users/0d2d44eb-a2df-4f00-8d60-3f163ed72c9b%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 [email protected] <javascript:>. > > To post to this group, send email to [email protected] > <javascript:>. > > Visit this group at https://groups.google.com/group/django-users. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/django-users/b1e017fa-d150-47ac-a2ee-886cb06e0a2a%40googlegroups.com. > > > > 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 [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/74f7608f-980d-473d-ae3f-ce50b3fd1653%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

