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].
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/0d2d44eb-a2df-4f00-8d60-3f163ed72c9b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.