Django模型使用id组作为ForeignKey

时间:2020-06-23 09:49:24

标签: django django-models

我正在开发一个站点,需要将表记录链接到组ID,所以我为数据库编写了模型,但是当我尝试插入外键时,我在makemigrations上收到错误消息:

(fields.E300)字段定义与模型“ Group”的关系,该关系未安装或为抽象。
和 sito_boe.Boe.group_id:(fields.E307)字段sito_boe.Boe.group_id的声明是对'sito_boe.group'的延迟引用,但应用程序'sito_boe'不提供模型'group' 这是我的模特。 我只是在网上和文档中搜索,没有运气,有人可以帮助我吗? 这是我的代码:

from django.contrib.auth.models import Group

#Group.auth_group
class Boe(models.Model):
    """Model representing an author."""
    Name = models.CharField(max_length=100,verbose_name="Nome")
    Geo_POS = models.CharField(max_length=100,verbose_name="Coordinate")
    Luogo = models.TextField(verbose_name="Posizione")
    created_date = models.DateTimeField(default=timezone.now)
    #group_id = models.CharField(max_length=100,verbose_name="Gruppo")
    id_boa = models.CharField(max_length=20,unique=True,blank=False,verbose_name="Identificativo boa",help_text='Enter field boaXX')
    group_id = models.ForeignKey('Group.auth_group', on_delete=models.SET_NULL, null=True)
    
    def __str__(self):
        """String for representing the Model object."""
        return self.Name

    class Meta:
        ordering = ['Name']
        verbose_name_plural = "Boe"
    
    def get_absolute_url(self):
        """Returns the url to access a particular author instance."""
        return reverse('listaboe', args=[str(self.id)])

1 个答案:

答案 0 :(得分:0)

如果需要组的外键,则可以添加以下内容:

group = models.ForeignKey(Group, related_name="boes", on_delete=models.SET_NULL)

当前,您在与组相关的外键字段中使用的是“ Group.auth_group”,而不是“ Group”。

相关问题