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]> 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].
> 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/CAP5HUWr6knGupSA5T1PMGbS4nu4_enxXHsoK-nOct4rH9EaN3A%40mail.gmail.com.

Reply via email to