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
  Scraping a dynamic data-table in python through AJAX request filozofo 0 232 Mar-18-2020, 01:44 PM
Last Post: filozofo
  Table data with BeatifulSoup gerry84 11 936 Oct-23-2019, 10:09 AM
Last Post: Larz60+
  Want to scrape a table data and export it into CSV format tahir1990 9 774 Oct-22-2019, 08:03 AM
Last Post: buran
  Using flask to add data to sqlite3 table with PRIMARY KEY catafest 1 1,982 Sep-09-2019, 07:00 AM
Last Post: buran
  sending email from admin to user in django anjana 0 856 Jun-07-2019, 12:01 PM
Last Post: anjana
  sqlalchemy DataTables::"No data available in table" when using self-joined table Asma 0 868 Nov-22-2018, 02:46 PM
Last Post: Asma
  Insert data to SQL through pymysql and flask iainstott 3 4,386 Oct-24-2017, 03:04 PM
Last Post: iainstott
  Saving username as first name while adding user in django admin prithvi 0 2,054 Aug-10-2017, 06:50 PM
Last Post: prithvi
  How can I add search in flask-admin? Mike Ru 4 5,269 Feb-13-2017, 06:36 PM
Last Post: nilamo

Forum Jump:


Users browsing this thread: 1 Guest(s)