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.

