Solving the circular problem in Django models
acconts/models.py
class UserX(AbstractBaseUser, PermissionsMixin):
username = models.CharField(max_length=255, unique=True)
is_staff = models.BooleanField(default=False)
is_superuser = models.BooleanField(default=False)
is_activ = models.BooleanField(default=True)
is_verified = models.BooleanField(default=False)
# user_follower= models.ManyToManyField("self", through="friends.Follower", related_name="folowers_user", symmetrical=False)
objects = ManageUserX()
USERNAME_FIELD = 'username'
save_p = models.ManyToManyField(through='posts.SavePosts',to='posts.Posts', related_name='save', blank=True, null=True, default = 0)
def _str_(self):
return self.username
posts/models.py
class Posts(models.Model):
name = models.CharField(max_length=300)
marke = models.ForeignKey('acconts.UserX', on_delete=models.CASCADE, null=True, related_name="marke_post")
slug = models.SlugField()
bad_admin = models.BooleanField(default=True)
like = models.ManyToManyField(through='CustomMtoMLike', to='acconts.UserX', related_name="like_post_user")
image = models.ImageField(upload_to = 'jjj', blank=True, null=True)
# Data
time_create = jalali.jDateTimeField(auto_now_add=True)
time_update = jalali.jDateTimeField(auto_now=True)
time_update = jalali.jDateTimeField(auto_now=True)
def _str_(self):
return self.name if self.name else self.marke.email