The line that's failing is not for the User model, but for the BeeradUser
model.

Assuming this is your same model

http://stackoverflow.com/questions/29913814/creating-new-account-with-or-without-modelforms-and-designing-with-html-css

Then I guess you have a "is_active" field in the BeeradUser model that also
has to be set to False when you create the model instance.

On Sun, May 3, 2015 at 11:37 PM, bradford li <[email protected]> wrote:

> I posted the same question on stackoverflow if anyone wants to answer it
> there.
>
>
>
> I am trying to create a builtin User object that has `is_active = False`
> but I am getting this error:
>
> null value in column "is_active" violates not-null constraint
>
>
> Traceback:
>
>     File "/Library/Python/2.7/site-packages/django/core/handlers/base.py"
> in get_response
>       111.                     response = wrapped_callback(request,
> *callback_args, **callback_kwargs)
>     File "/Users/bli1/Development/Django/beerad/userapp/views.py" in
> register
>       30.             beerad_user.save()
>     File "/Library/Python/2.7/site-packages/django/db/models/base.py" in
> save
>       589.                        force_update=force_update,
> update_fields=update_fields)
>     File "/Library/Python/2.7/site-packages/django/db/models/base.py" in
> save_base
>       617.             updated = self._save_table(raw, cls, force_insert,
> force_update, using, update_fields)
>     File "/Library/Python/2.7/site-packages/django/db/models/base.py" in
> _save_table
>       698.             result = self._do_insert(cls._base_manager, using,
> fields, update_pk, raw)
>     File "/Library/Python/2.7/site-packages/django/db/models/base.py" in
> _do_insert
>       731.                                using=using, raw=raw)
>     File "/Library/Python/2.7/site-packages/django/db/models/manager.py"
> in manager_method
>       92.                 return getattr(self.get_queryset(), name)(*args,
> **kwargs)
>     File "/Library/Python/2.7/site-packages/django/db/models/query.py" in
> _insert
>       921.         return
> query.get_compiler(using=using).execute_sql(return_id)
>     File
> "/Library/Python/2.7/site-packages/django/db/models/sql/compiler.py" in
> execute_sql
>       920.                 cursor.execute(sql, params)
>     File "/Library/Python/2.7/site-packages/django/db/backends/utils.py"
> in execute
>       81.             return super(CursorDebugWrapper, self).execute(sql,
> params)
>     File "/Library/Python/2.7/site-packages/django/db/backends/utils.py"
> in execute
>       65.                 return self.cursor.execute(sql, params)
>     File "/Library/Python/2.7/site-packages/django/db/utils.py" in __exit__
>       94.                 six.reraise(dj_exc_type, dj_exc_value, traceback)
>     File "/Library/Python/2.7/site-packages/django/db/backends/utils.py"
> in execute
>       65.                 return self.cursor.execute(sql, params)
>
>     Exception Type: IntegrityError at /auth/signup/
>     Exception Value: null value in column "is_active" violates not-null
> constraint
>     DETAIL:  Failing row contains (9, null,
> 52eed3a4-5232-4819-af74-d534ca6cc3a7, 12).
>
>
> Code:
>
>     def register(request):
>         if request.method == "POST":
>             registration_form = RegistrationForm(request.POST)
>             if registration_form.is_valid():
>                 # create new user
>                 form_data = registration_form.cleaned_data
>                 print(form_data)
>                 first_name = form_data["first_name"]
>                 last_name = form_data["last_name"]
>                 username = form_data["username"]
>                 email = form_data["email"]
>                 password = form_data["password"]
>                 new_user = User.objects.create(username=username,
> first_name=first_name, last_name=last_name, email=email, password=password,
> is_active=False)
>                 unique_key = str(uuid.uuid4())
>                 beerad_user = BeeradUser(user=new_user,
> activation_key=unique_key)
>                 beerad_user.save()
>
> I also tried creating the User object and then using this line of code:
>
> new_user.is_active = False
>
> But I get the error. Without adding the `is_active` property, creating a
> new User works but it sets the `is_active` field to be automatically True
> which isn't something I want.
>
> Here is my BeeradUser model:
>
>     class BeeradUser(models.Model):
>         user = models.OneToOneField(User)
>         activation_key = models.CharField(max_length=36)
>
> --
> 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 http://groups.google.com/group/django-users.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-users/7a11e83f-cf4b-4ea5-b9d2-1765cb6a25c2%40googlegroups.com
> <https://groups.google.com/d/msgid/django-users/7a11e83f-cf4b-4ea5-b9d2-1765cb6a25c2%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].
To post to this group, send email to [email protected].
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/CALn3ei1LAO_0gfhK8MaBYgV_ehW2Q4y427eZAwE4YGNkDcCZVQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to