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].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAP5HUWrF81bJ%2BVvJthZ5CRE8iNLtUxJvU80x%3DeTD7pWDN1P59w%40mail.gmail.com.

Reply via email to