I am a fresher in django. I am using django 1.10 with allauth app which 
takes care of frontend registration, sending user confirmation 
email,validation, login with email etc. So it all works in the frontend. In 
the backend I managed to change the user creation form by adding an extra 
field email.

The allauth app inserts 3 rows in 3 tables when a user is created in the 
frontend.

1. auth_user
2. account_emailaddress
3. account_emailconfirmation

When adding a user from admin it creates a row in auth_user and 
general_userprofile(extending django user model) table. I would like to 
insert a row in account_emailaddress table whenever a user is created via 
admin.

Fields in account_emailaddress are--

id
email
verified
primary
user_id

models.py looks like this --

from __future__ import unicode_literals

from django.db import models
from django.contrib.auth.models import User
from django.utils.translation import ugettext as _
from django.db.models.signals import post_save
from django.dispatch import receiver
from ciasroot.util import HashedPk
from phonenumber_field.modelfields import PhoneNumberField
import math, decimal, datetime, os


User._meta.get_field('email').blank = False
User._meta.get_field('email')._unique = True




class EmailAddress(models.Model):
    verified = models.BooleanField(verbose_name=_('verified'), default=True)
    primary = models.BooleanField(verbose_name=_('primary'), default=True)


class UserProfile(models.Model, HashedPk):
    user = models.OneToOneField(User, unique=True, related_name ='profile')
    job_title = models.CharField(max_length=128, blank=True, null=False, 
default="")
    website = models.URLField(max_length=255, blank=True, null=True)
    organisation = models.CharField(max_length=50, blank=True, null=True, 
default="")
    phone_number = PhoneNumberField( blank=True, null=True)


@receiver(post_save, sender=User)
def create_profile(sender, instance, created, **kwargs):
    if created:
        UserProfile.objects.create(user=instance)




def __str__(self):
    return self.user.get_full_name()


def save(self, *args, **kwargs):
    super(UserProfile, self).save(*args, **kwargs)



How can I fetch userid and email under class EmailAddress and save it to 
the table.

Any help is highly appreciated.

-- 
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/1e1057af-4abe-4f0c-aecf-a31cdc729bc8%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to