Чего мне не хватает в этих Django модельных отношениях - PullRequest
0 голосов
/ 12 марта 2020

У меня есть модель CustomUser и модель Blog.

Модель CustomUser:
class CustomUser(AbstractUser):
    email = models.EmailField(unique=True)
    first_name = models.CharField(max_length=20, default="", blank=True)
    last_name = models.CharField(max_length=20, default="", blank=True)
    address = models.CharField(max_length=150, default="", blank=True)
    city = models.CharField(max_length=20, default="", blank=True)
    zip_code = models.CharField(max_length=20, default="", blank=True)
    country = models.CharField( max_length=50, default="", blank=True, choices=settings.COUNTRIES_LIST)
    about_me = models.TextField(max_length=225, default="", blank=True)
    photo_url = models.TextField(null=True)
    is_active = models.BooleanField(default=True) # can login
Модель блога:
class Blog(models.Model):  
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, null=True,  verbose_name=_('user'), related_name="%(class)s_blogs",  on_delete=models.SET_NULL)
    blog_id = models.CharField(max_length=150, null=False, default=get_id, unique=True, editable=False)
    blog_title = models.CharField(max_length=150, null=False)
    blog_description = models.TextField(max_length=300, null=True, blank=True)
    created_at = models.DateTimeField(auto_now=False, auto_now_add=True)
    updated_at = models.DateTimeField(auto_now=True, auto_now_add=False)
    blog = FroalaField()
    dynamic_link = models.CharField(max_length=225, null=False, default="")
    blog_type = models.CharField( max_length=50, null=False, choices=BLOGSTYPE_LIST)
    blog_status   = models.CharField(max_length=150, null=False, default="unapproved")
    is_active = models.BooleanField(default=False)
    is_featured = models.BooleanField(default=False)

Насколько я понимаю, я могу использовать related_name, чтобы получить все блоги по пользователь.

>>> from users.models import CustomerUser
>>> user = CustomUser.objects.get(pk=1)
>>> user.blog_blogs.all()
<BlogQuerySet []>

Как вы, наверное, уже видели, этот поворот всегда возвращает пустой набор запросов, даже если этот пользователь имеет записи в блоге.

Так что это не понимание Вот? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...