Closed RoadRunner11 closed 2 years ago
I have my tenant model as this
class Company(TenantModel): tenant_id = "id" name = models.CharField(max_length=50) address = models.CharField(max_length=255) description = models.TextField(blank=True, null=True) email = models.CharField(max_length=255, blank=True, null=True) subdomain_prefix = models.CharField(max_length=255, blank=True, null=True) cell_phone = models.CharField(max_length=255, blank=True, null=True) active = models.BooleanField(default=True) land_phone = models.CharField(max_length=255, blank=True, null=True) country = models.CharField(max_length=32, choices=COUNTRY_CHOICES, blank=True) state = models.CharField(max_length=255, blank=True, null=True) city = models.CharField(max_length=255, blank=True, null=True) zip_code = models.CharField(max_length=255, blank=True, null=True) about = models.TextField(blank=True, null=True) contact_details = models.TextField(blank=True, null=True) latitude = models.CharField(max_length=512, blank=True, null=True) longitude = models.CharField(max_length=512, blank=True, null=True) year_established = models.DateField( blank=True, null=True) total_employees = models.CharField(max_length=255, blank=True, null=True) business_type = models.CharField(max_length=255, blank=True, null=True) main_products = models.CharField(max_length=255, blank=True, null=True) total_annual_revenue = models.CharField(max_length=255, blank=True, null=True) url = models.CharField(max_length=255, blank=True, null=True) social_link = models.CharField(max_length=255, blank=True, null=True) def __str__(self): return self.name class UserProfile(TenantModel): is_admin = models.BooleanField(default=False) title = models.CharField(max_length=255, blank=True, null=True) last_name = models.CharField(max_length=255, blank=True, null=True) first_name = models.CharField(max_length=255, blank=True, null=True) other_names = models.CharField(max_length=255, blank=True, null=True) address = models.CharField(max_length=255, blank=True, null=True) tenant_id = 'company_id' class Meta: abstract = True class SuperAdmin(models.Model): user = models.OneToOneField(User, on_delete=models.CASCADE, blank=True, null=True) class Action(models.Model): action = models.TextField(null=True, blank=True) time = models.DateTimeField(auto_now=True) by = models.ForeignKey(SuperAdmin, on_delete=models.CASCADE, blank=True, null=True) class Employer(UserProfile): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employerprofile', blank=True, null=True) company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='employercompany', blank=True, null=True, unique=True) # departments = models.ManyToManyField('Department', blank=True, related_name="members") # class Meta: # unique_together = ["id", "company"] class Employee(UserProfile): user = models.OneToOneField(User, on_delete=models.CASCADE, related_name='employeeprofile', blank=True, null=True) company = models.ForeignKey(Company, on_delete=models.CASCADE, related_name='employeecompany', blank=True, null=True) departments = models.ManyToManyField(Department, blank=True) employer = TenantForeignKey(Employer, on_delete=models.PROTECT, blank=True, null=True) reg_id = models.CharField(max_length=255, blank=True, null=True) role = TenantForeignKey("company.Role", on_delete=models.PROTECT, blank=True, null=True) leave_day = TenantForeignKey("company.LeaveDays", on_delete=models.PROTECT, blank=True, null=True) identidication_type = models.CharField(max_length=255, blank=True, null=True) passport = models.CharField(max_length=255, blank=True, null=True) identidication = models.CharField(max_length=255, blank=True, null=True) employment_type = models.CharField(max_length=255, blank=True, null=True) known_as = models.CharField(max_length=255, blank=True, null=True) gender = models.CharField(max_length=255, blank=True, null=True) date_of_birth = models.DateField( blank=True, null=True) blood_group = models.CharField(max_length=255, blank=True, null=True) genotype = models.CharField(max_length=255, blank=True, null=True) employee_photo = models.FileField(upload_to='assets/',blank=True, null=True) start_date = models.DateField( blank=True, null=True) reports_to = models.ForeignKey(User, on_delete=models.CASCADE, related_name='reportperson', blank=True, null=True) additional_reports = models.FileField(upload_to='assets/%d',blank=True, null=True) job_role = models.CharField(max_length=255, blank=True, null=True) salary = models.FloatField( blank=True, null=True) daily_cost_of_absence = models.FloatField( blank=True, null=True) nationality = models.CharField(max_length=255, blank=True, null=True) def get_full_name(self): return self.user.first_name+" "+self.user.last_name def __str__(self): return self.user.username
After creating migrations, when i try ti migrate, I get this error django.db.utils.ProgrammingError: there is no unique constraint matching given keys for referenced table "users_employer" Kindly look into it for me.
Did you solve this issue? I am currently facing it :(
Closing since a fix for this is now merged and will be part of the next release.
This was fixed in 2.4.0
I have my tenant model as this
After creating migrations, when i try ti migrate, I get this error django.db.utils.ProgrammingError: there is no unique constraint matching given keys for referenced table "users_employer" Kindly look into it for me.