Hi friend,

When I want to create my custom authentication model User. I have got error 
such as 'FieldDoesNotExist 'userid''.
So, I have deleted all of these previous migration_files, re-create 
database and makemigrations. But cannot able to migrate again.


On Wednesday, November 27, 2019 at 12:05:24 AM UTC+6, Integr@te System 
wrote:
>
> Hi friend,
>
> plz check these files: '  # Generated by Django 2.2.3 on 2019-11-26 15:36 ' 
> and another (if u have), to see separating.
>
> On Tue, Nov 26, 2019, 23:44 Ahmad Saki <[email protected] <javascript:>> 
> wrote:
>
>> Hello Dear,
>> Please explain with more words. How do I solve this problem? What can I 
>> do?
>>
>> On Tuesday, November 26, 2019 at 9:54:26 PM UTC+6, Integr@te System wrote:
>>>
>>> Hi man,
>>>
>>> And u see error occur again, isn't it?
>>> Do you differ two file that app output when you migrated?
>>>
>>> On Tue, Nov 26, 2019, 22:40 Ahmad Saki <[email protected]> wrote:
>>>
>>>> organization.Organization model:
>>>>
>>>> from django.db import models
>>>>
>>>> class Organization(models.Model):
>>>>    orgid = models.IntegerField(max_length=6, primary_key=True)
>>>>    name = models.CharField(max_length=50)
>>>>    phone = models.CharField(max_length=20,null=True,blank=True,default=
>>>> None)
>>>>    email = models.CharField(max_length=50,null=True,blank=True,default=
>>>> None)
>>>>    mobile = models.CharField(max_length=20,null=True,blank=True,default
>>>> =None)
>>>>    permanent_address = models.CharField(max_length=200,null=True,blank=
>>>> True,default=None)
>>>>    present_address = models.CharField(max_length=200,null=True,blank=
>>>> True,default=None)
>>>>    remark = models.CharField(max_length=500,null=True,blank=True,
>>>> default=None)
>>>>
>>>> And migration:
>>>>
>>>> # Generated by Django 2.2.3 on 2019-11-26 15:36
>>>>
>>>> from django.db import migrations, models
>>>>
>>>>
>>>> class Migration(migrations.Migration):
>>>>
>>>>     initial = True
>>>>
>>>>     dependencies = [
>>>>    ]
>>>>
>>>>     operations = [
>>>>        migrations.CreateModel(
>>>>            name='Organization',
>>>>            fields=[
>>>>                ('orgid', models.IntegerField(max_length=6, primary_key=
>>>> True, serialize=False)),
>>>>                ('name', models.CharField(max_length=50)),
>>>>                ('phone', models.CharField(blank=True, default=None, 
>>>> max_length=20, null=True)),
>>>>                ('email', models.CharField(blank=True, default=None, 
>>>> max_length=50, null=True)),
>>>>                ('mobile', models.CharField(blank=True, default=None, 
>>>> max_length=20, null=True)),
>>>>                ('permanent_address', models.CharField(blank=True, 
>>>> default=None, max_length=200, null=True)),
>>>>                ('present_address', models.CharField(blank=True, default
>>>> =None, max_length=200, null=True)),
>>>>                ('remark', models.CharField(blank=True, default=None, 
>>>> max_length=500, null=True)),
>>>>            ],
>>>>        ),
>>>>    ]
>>>>
>>>>
>>>>
>>>>
>>>> On Tuesday, November 26, 2019 at 8:26:13 PM UTC+6, Integr@te System 
>>>> wrote:
>>>>>
>>>>> hi, inspect your typo and Organization model.
>>>>>
>>>>> On Tue, Nov 26, 2019, 16:31 Ahmad Saki <[email protected]> wrote:
>>>>>
>>>>>> Dear,
>>>>>> Thanks for your response.
>>>>>> I use the foreign key field 'orgid' or not but got the same error. If 
>>>>>> I want to use this then where is my fault for this error!
>>>>>>
>>>>>>
>>>>>> On Tuesday, November 26, 2019 at 12:11:58 PM UTC+6, Integr@te System 
>>>>>> wrote:
>>>>>>>
>>>>>>> Hi man,
>>>>>>>
>>>>>>> Check 'class UserManager(): ......orgid = org_obj '
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> On Tue, Nov 26, 2019, 01:40 Ahmad Saki <[email protected]> wrote:
>>>>>>>
>>>>>>>> My custom authentication model in django:
>>>>>>>>
>>>>>>>> from django.db import models
>>>>>>>> from django.contrib.auth.models import (
>>>>>>>> AbstractBaseUser, BaseUserManager
>>>>>>>> )
>>>>>>>> from organization.models import Organization
>>>>>>>>
>>>>>>>>
>>>>>>>> class UserManager(BaseUserManager):
>>>>>>>> # use_in_migrations = True
>>>>>>>>
>>>>>>>> # python manage.py createsuperuser
>>>>>>>> def create_user(self, orgid, username, email,  password=None, 
>>>>>>>> is_admin=False, is_staff=False, is_active=True):
>>>>>>>>     if not orgid:
>>>>>>>>         raise ValueError("Organization of user must not empty")
>>>>>>>>     elif not username:
>>>>>>>>         raise ValueError("User must have an username")
>>>>>>>>     elif not email:
>>>>>>>>         raise ValueError("User must have an email address")
>>>>>>>>
>>>>>>>>     org_obj = Organization.objects.all(orgid=orgid)
>>>>>>>>     user_obj = self.model(
>>>>>>>>         orgid=org_obj,
>>>>>>>>         username=username,
>>>>>>>>         email = self.normalize_email(email),
>>>>>>>>         password=password
>>>>>>>>         )
>>>>>>>>     user_obj.set_password(password)
>>>>>>>>     user_obj.admin=is_admin
>>>>>>>>     user_obj.staff=is_staff
>>>>>>>>     user_obj.active=is_active
>>>>>>>>     user_obj.save(using=self._db)
>>>>>>>>     return user_obj
>>>>>>>>
>>>>>>>> # python manage.py createsuperuser
>>>>>>>> def create_superuser(self, orgid, username, email, password=None):
>>>>>>>>     user = 
>>>>>>>> self.create_user(orgid,username,email,password=password,is_admin=True,is_staff=True,is_active=True)
>>>>>>>>     return user
>>>>>>>>
>>>>>>>> def create_staffuser(self, orgid, username, email, password=None):
>>>>>>>>     user = 
>>>>>>>> self.create_user(orgid,username,email,password=password,is_admin=False,is_staff=True,is_active=True)
>>>>>>>>     return user
>>>>>>>>
>>>>>>>> class User(AbstractBaseUser):
>>>>>>>> orgid       = models.ForeignKey(Organization, max_length=6, 
>>>>>>>> on_delete=models.CASCADE)
>>>>>>>> username    = models.CharField(primary_key=True, max_length=50) 
>>>>>>>> email       = models.EmailField(max_length=255, unique=True, 
>>>>>>>> null=False, blank=False)
>>>>>>>> admin       = models.BooleanField(default=False)
>>>>>>>> staff       = models.BooleanField(default=False)
>>>>>>>> active      = models.BooleanField(default=True)
>>>>>>>> date_joined = models.DateTimeField(auto_now_add=True)
>>>>>>>>
>>>>>>>> objects = UserManager()
>>>>>>>>
>>>>>>>> USERNAME_FIELD = "username"
>>>>>>>> # REQUIRED_FIELDS must contain all required fields on your User model, 
>>>>>>>> # but should not contain the USERNAME_FIELD or password as these 
>>>>>>>> fields will always be prompted for.
>>>>>>>> REQUIRED_FIELDS = ['orgid','email']
>>>>>>>>
>>>>>>>> class Meta:
>>>>>>>>     app_label = "user"
>>>>>>>>     db_table = "user"
>>>>>>>>
>>>>>>>> def __str__(self):
>>>>>>>>     return self.username
>>>>>>>>
>>>>>>>> def get_full_name(self):
>>>>>>>>     return self.username
>>>>>>>>
>>>>>>>> def get_short_name(self):
>>>>>>>>     return self.username
>>>>>>>>
>>>>>>>> # this methods are require to login super user from admin panel
>>>>>>>> def has_perm(self, perm, obj=None):
>>>>>>>>     return self.is_staff
>>>>>>>>
>>>>>>>> # this methods are require to login super user from admin panel
>>>>>>>> def has_module_perms(self, app_label):
>>>>>>>>     return self.is_staff
>>>>>>>>
>>>>>>>> @property
>>>>>>>> def is_admin(self):
>>>>>>>>     return self.admin
>>>>>>>>
>>>>>>>> @property
>>>>>>>> def is_staff(self):
>>>>>>>>     return self.staff
>>>>>>>>
>>>>>>>> @property
>>>>>>>> def is_active(self):
>>>>>>>>     return self.active
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> When I create migrations it creates:
>>>>>>>>
>>>>>>>> from django.db import migrations, models
>>>>>>>> import django.db.models.deletion
>>>>>>>> import user.models
>>>>>>>>
>>>>>>>>
>>>>>>>> class Migration(migrations.Migration):
>>>>>>>>
>>>>>>>> initial = True
>>>>>>>>
>>>>>>>> dependencies = [
>>>>>>>>     ('organization', '0001_initial'),
>>>>>>>> ]
>>>>>>>>
>>>>>>>> operations = [
>>>>>>>>     migrations.CreateModel(
>>>>>>>>         name='User',
>>>>>>>>         fields=[
>>>>>>>>             ('password', models.CharField(max_length=128, 
>>>>>>>> verbose_name='password')),
>>>>>>>>             ('last_login', models.DateTimeField(blank=True, null=True, 
>>>>>>>> verbose_name='last login')),
>>>>>>>>             ('username', models.CharField(max_length=50, 
>>>>>>>> primary_key=True, serialize=False)),
>>>>>>>>             ('email', models.EmailField(max_length=255, unique=True)),
>>>>>>>>             ('admin', models.BooleanField(default=False)),
>>>>>>>>             ('staff', models.BooleanField(default=False)),
>>>>>>>>             ('active', models.BooleanField(default=True)),
>>>>>>>>             ('date_joined', models.DateTimeField(auto_now_add=True)),
>>>>>>>>             ('orgid', models.ForeignKey(max_length=6, 
>>>>>>>> on_delete=django.db.models.deletion.CASCADE, 
>>>>>>>> to='organization.Organization')),
>>>>>>>>         ],
>>>>>>>>         options={
>>>>>>>>             'db_table': 'user',
>>>>>>>>         },
>>>>>>>>         managers=[
>>>>>>>>             ('objects', user.models.UserManager()),
>>>>>>>>         ],
>>>>>>>>     ),
>>>>>>>> ]
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> But when I want to migrate it gives me an error below. Please help 
>>>>>>>> me anyone..
>>>>>>>>
>>>>>>>> Operations to perform:
>>>>>>>>   Apply all migrations: admin, auth, contenttypes, organization, 
>>>>>>>> sessions, user
>>>>>>>> Running migrations:
>>>>>>>>   Applying admin.0004_auto_20191118_2315...Traceback (most recent call 
>>>>>>>> last):
>>>>>>>>   File "manage.py", line 21, in <module>
>>>>>>>>     main()
>>>>>>>>   File "manage.py", line 17, in main
>>>>>>>>     execute_from_command_line(sys.argv)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\__init__.py",
>>>>>>>>  line 381, in execute_from_command_line
>>>>>>>>     utility.execute()
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\__init__.py",
>>>>>>>>  line 375, in execute
>>>>>>>>     self.fetch_command(subcommand).run_from_argv(self.argv)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\base.py",
>>>>>>>>  line 323, in run_from_argv
>>>>>>>>     self.execute(*args, **cmd_options)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\base.py",
>>>>>>>>  line 364, in execute
>>>>>>>>     output = self.handle(*args, **options)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\base.py",
>>>>>>>>  line 83, in wrapped
>>>>>>>>     res = handle_func(*args, **kwargs)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\core\management\commands\migrate.py",
>>>>>>>>  line 234, in handle
>>>>>>>>     fake_initial=fake_initial,
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\migrations\executor.py",
>>>>>>>>  line 117, in migrate
>>>>>>>>     state = self._migrate_all_forwards(state, plan, full_plan, 
>>>>>>>> fake=fake, fake_initial=fake_initial)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\migrations\executor.py",
>>>>>>>>  line 147, in _migrate_all_forwards
>>>>>>>>     state = self.apply_migration(state, migration, fake=fake, 
>>>>>>>> fake_initial=fake_initial)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\migrations\executor.py",
>>>>>>>>  line 245, in apply_migration
>>>>>>>>     state = migration.apply(state, schema_editor)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\migrations\migration.py",
>>>>>>>>  line 124, in apply
>>>>>>>>     operation.database_forwards(self.app_label, schema_editor, 
>>>>>>>> old_state, project_state)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\migrations\operations\fields.py",
>>>>>>>>  line 249, in database_forwards
>>>>>>>>     schema_editor.alter_field(from_model, from_field, to_field)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\backends\base\schema.py",
>>>>>>>>  line 507, in alter_field
>>>>>>>>     new_db_params = new_field.db_parameters(connection=self.connection)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\fields\related.py",
>>>>>>>>  line 966, in db_parameters
>>>>>>>>     return {"type": self.db_type(connection), "check": 
>>>>>>>> self.db_check(connection)}
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\fields\related.py",
>>>>>>>>  line 963, in db_type
>>>>>>>>     return self.target_field.rel_db_type(connection=connection)
>>>>>>>>   File 
>>>>>>>> "C:\Users\ZAB-SAKI\AppData\Local\Programs\Python\Python37-32\lib\site-packages\django\db\models\fields\related.py",
>>>>>>>>  line 878, in target_field
>>>>>>>>     return self.foreign_related_fields[0]
>>>>>>>> IndexError: tuple index out of range
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> -- 
>>>>>>>> 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 view this discussion on the web visit 
>>>>>>>> https://groups.google.com/d/msgid/django-users/7f038f19-7430-4d4b-8dc3-efad352d7bc8%40googlegroups.com
>>>>>>>>  
>>>>>>>> <https://groups.google.com/d/msgid/django-users/7f038f19-7430-4d4b-8dc3-efad352d7bc8%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> -- 
>>>>>> 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 view this discussion on the web visit 
>>>>>> https://groups.google.com/d/msgid/django-users/2c8f88c6-5021-4113-84ee-ac0d53001e1a%40googlegroups.com
>>>>>>  
>>>>>> <https://groups.google.com/d/msgid/django-users/2c8f88c6-5021-4113-84ee-ac0d53001e1a%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> -- 
>>>> 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 view this discussion on the web visit 
>>>> https://groups.google.com/d/msgid/django-users/84f02bae-7119-4066-a3d3-3dfc8b8c5973%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/django-users/84f02bae-7119-4066-a3d3-3dfc8b8c5973%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/1c7a93a2-7eb8-4b9d-9928-aa14f86065a8%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/django-users/1c7a93a2-7eb8-4b9d-9928-aa14f86065a8%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/d0684d23-aa0a-4c98-b1cc-e0150ed22651%40googlegroups.com.

Reply via email to