You could use a OneToOneField as described at https://docs.djangoproject.com/en/stable/topics/auth/customizing/#extending-the-existing-user-model
On Saturday, December 19, 2015 at 5:12:52 AM UTC-5, Web Architect wrote: > > Hi Tim, > > Thanks for your response and the details. > > In that case, what would be the best approach to have additional > credentials for the user? Do I need to create another model/table and link > it to User? In that case, how will that get included in the User object? Do > I need to create a middleware? > > I am sorry if some queries seem out of the way as I am new to Django. > > Thanks. > > On Friday, December 18, 2015 at 8:24:57 PM UTC+5:30, Tim Graham wrote: >> >> If you didn't start your project with a custom user, it's non-trivial to >> start using one. Please see https://code.djangoproject.com/ticket/25313. >> >> On Friday, December 18, 2015 at 6:55:16 AM UTC-5, Web Architect wrote: >>> >>> Hi, >>> >>> I am new to Django and still under the process of learning. We are using >>> an open source ecommerce platform - Oscar - for our online store. Oscar is >>> based on Django. >>> >>> I was trying to customise the Django User model by extending with some >>> few extra fields/columns: >>> >>> # file: your-project/apps/user/models.pyfrom django.db import models >>> >>> from django.contrib.auth.models import AbstractUser >>> >>> class User(AbstractUser): user_type = models.IntegerField() >>> >>> # use our own user model in settings.pyAUTH_USER_MODEL = "user.User" >>> >>> With the above changes, when I run 'makemigration' followed by 'migrate', I >>> am getting the following errors: >>> >>> *Running migrations:* >>> >>> Rendering model states...Traceback (most recent call last): >>> >>> File "./manage.py", line 10, in <module> >>> >>> execute_from_command_line(sys.argv) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/core/management/__init__.py", >>> line 338, in execute_from_command_line >>> >>> utility.execute() >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/core/management/__init__.py", >>> line 330, in execute >>> >>> self.fetch_command(subcommand).run_from_argv(self.argv) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/core/management/base.py", >>> line 393, in run_from_argv >>> >>> self.execute(*args, **cmd_options) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/core/management/base.py", >>> line 444, in execute >>> >>> output = self.handle(*args, **options) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/core/management/commands/migrate.py", >>> line 222, in handle >>> >>> executor.migrate(targets, plan, fake=fake, fake_initial=fake_initial) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/db/migrations/executor.py", >>> line 100, in migrate >>> >>> state.apps # Render all real_apps -- performance critical >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/utils/functional.py", >>> line 60, in __get__ >>> >>> res = instance.__dict__[self.name] = self.func(instance) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/db/migrations/state.py", >>> line 166, in apps >>> >>> return StateApps(self.real_apps, self.models) >>> >>> File >>> "/Users/pinakeebiswas/waltzz/lib/python2.7/site-packages/django/db/migrations/state.py", >>> line 248, in __init__ >>> >>> raise ValueError(msg.format(field=operations[0][1], model=lookup_model)) >>> >>> ValueError: Lookup failed for model referenced by field >>> basket.Basket.owner: customer.User >>> >>> >>> I am not sure what's causing the above error. Certainly there could be >>> models which would be dependent on the User model but I thought the >>> makemigrations and migrate should be able to resolve those. >>> >>> Would appreciate if someone could help me with resolving the above errors. >>> >>> Thanks >>> >>> >>> >>> -- 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/a06b8bea-7227-4dc9-a5b3-63f00495f307%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

