Bottom Page

Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
 Insert data in a table after a user is created from djando admin
#1
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 --

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.
Quote

Top Page

Possibly Related Threads...
Thread Author Replies Views Last Post
  Table data with BeatifulSoup gerry84 11 376 Oct-23-2019, 10:09 AM
Last Post: Larz60+
  Want to scrape a table data and export it into CSV format tahir1990 9 322 Oct-22-2019, 08:03 AM
Last Post: buran
  Using flask to add data to sqlite3 table with PRIMARY KEY catafest 1 1,486 Sep-09-2019, 07:00 AM
Last Post: buran
  sending email from admin to user in django anjana 0 360 Jun-07-2019, 12:01 PM
Last Post: anjana
  sqlalchemy DataTables::"No data available in table" when using self-joined table Asma 0 590 Nov-22-2018, 02:46 PM
Last Post: Asma
  Insert data to SQL through pymysql and flask iainstott 3 3,594 Oct-24-2017, 03:04 PM
Last Post: iainstott
  Saving username as first name while adding user in django admin prithvi 0 1,676 Aug-10-2017, 06:50 PM
Last Post: prithvi
  How can I add search in flask-admin? Mike Ru 4 4,438 Feb-13-2017, 06:36 PM
Last Post: nilamo

Forum Jump:


Users browsing this thread: 1 Guest(s)