groups.Groups.created_by: (fields.E303) Обратное имя запроса для «Groups.created_by» конфликтует с именем поля «User.groups» - PullRequest
0 голосов
/ 28 ноября 2018

Я пытаюсь перенести эти две модели:

from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
# Create your models here.

# Groups Model
class Cluster(models.Model):

    grp_name = models.CharField(max_length=100)
    grp_status = models.CharField(max_length=100)
    grp_description = models.TextField()
    created_on = models.DateTimeField(default=timezone.now)
    created_by = models.ForeignKey(
        User,
        related_name='created',
        on_delete=models.CASCADE
    )
    updated_on = models.DateTimeField(auto_now=True)
    members = models.ManyToManyField(
        User, 
        through='UserGroup',
        through_fields=('user', 'group'),
        related_name='members'
    )

    def __str__(self):
        return self.grp_name

#user groups
class UserGroup(models.Model):
    user = models.ForeignKey(
        User,
        on_delete=models.CASCADE,
        related_name = 'user'
    )
    group = models.ForeignKey(
        Cluster,
        on_delete=models.CASCADE,
        related_name = 'group'
    )
    date_joined = models.DateTimeField(default=timezone.now)

Но у меня есть эта ошибка:

    ERRORS:
groups.Cluster.members: (fields.E339) 'UserGroup.group' is not a foreign key to 'User'.
        HINT: Did you mean one of the following foreign keys to 'User': user?
groups.Cluster.members: (fields.E339) 'UserGroup.user' is not a foreign key to 'Cluster'.
        HINT: Did you mean one of the following foreign keys to 'Cluster': group?

Я хочу установить отношения между многими пользователямии группы.То есть пользователи могут быть во многих группах, и в группах будет много пользователей.Почему мой код неверен?И как мне это исправить?Пожалуйста, помогите.

1 Ответ

0 голосов
/ 28 ноября 2018

Параметр related_name пользователя:

 created_by=models.ForeignKey(User, on_delete=models.CASCADE,related_name="created")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...