- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Django 中创建一个模型,其中包含 2 个主要类 - 比赛类和玩家类。每场比赛都需要从数据库中获取 2 名球员,因此我在表中包含了外键,但这些外键会发生冲突,因为我在比赛类别中引用了球员类别两次。
我尝试使用 related_name 字段来防止这些冲突,如下面的代码所示。虽然此示例似乎适用于此处的其他用户,但我收到名称错误,指出 related_name 中声明的名称未定义。更改 related_name 的值会更改错误内容。
class Player(models.Model):
p_pub_date = models.DateTimeField('date published')
p_username = models.CharField(max_length=20)
p_tag = models.CharField(max_length=20)
p_league_id = models.ForeignKey(League, on_delete=models.CASCADE)
p_elo_rating = models.IntegerField(default=1200)
p_glicko_rating = models.IntegerField(default=1200)
p_character = models.CharField(max_length=20)
p_country = models.CharField(max_length=50)
class Match(models.Model):
m_pub_date = models.DateTimeField('date published')
m_tournament_id = models.ForeignKey(Tournament, on_delete=models.CASCADE)
m_player0_id = models.ForeignKey(Player, on_delete=models.CASCADE, related_name=m_player0_id)
m_player1_id = models.ForeignKey(Player, on_delete=models.CASCADE, related_name=m_player1_id)
m_result = models.IntegerField(default=0)
当我运行 makemigrations 时,我的 models.py 文件中出现错误: m_player0_id = models.ForeignKey(Player, on_delete=models.CASCADE, related_name=m_player0_id)NameError:名称“m_player0_id”未定义
提前致谢
最佳答案
你需要使用引号
m_player0_id = models.ForeignKey(Player, on_delete=models.CASCADE, related_name='m_player0_id')
m_player1_id = models.ForeignKey(Player, on_delete=models.CASCADE, related_name='m_player1_id')
我也会选择一个不同的相关名称,例如 'matches_as_p1'
'matches_as_p2'
也许
关于python - Django:使用 related_name 添加引用同一个表的 2 个外键导致 NameError - 未定义给定相关名称的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56234750/
我有几个模型,它们有一个外键返回到 Django 中的一个模型,该模型有一个外键返回到 auth User。 models.py class UserDetails(models.Model):
经过一年的 Django 经验,我发现我不太确定我使用 Django related_names正确。 想象一下我有三个模型 classA(models.Model): pass classB
根据 documentation ,相关名称必须是唯一的。再次根据 documentation 的默认值(如果开发人员未明确设置)是 FOO_set ,其中 FOO 是源模型名称。 因此,如果我有两个
我的模型发生了现场冲突: class Visit(models.Model): user = models.ForeignKey(User) visitor = models.Fo
related_name 参数对 ManyToManyField 和 ForeignKey 字段有什么用处?比如给定下面的代码,related_name='maps'的作用是什么? class Map
例子: class Route(models.Model): last_waypoint_visited = models.ForeignKey('WayPoint') class WayPo
抱歉没有描述性的标题,但我真的不知道如何措辞。 假设我有两个模型: class Person(...): name = ... #have an attribute class Family(..
我有以下型号: class A(models.Model): name = models.CharField(max_length=100) c = models.ForeignKey
我有一个用户模型: Class User(models.Model): #some fields 还有另一个 Profile Model,它由字段 -> 母亲和父亲组成。 Class Profi
我有一个抽象基础模型和 2 个继承模型,我需要强制相关名称采用特定格式。 class Animal(models.Model): legs = models.IntegerField(rela
先定义两个模型,一个是A,一个是B,是一对多的类型。 ? 1
我有这个抽象模型: class HasSystemMessage(models.Model): class Meta: abstract = True messages
我正在使用 Python(3.7) 和 Django(2.2) 开发一个项目,其中我实现了两个模型 ItemModel 和 Images 因此每个项目都会有多个图像并将项目添加到 images 模型中
我有两个非常相似的 M2M 领域模型,不知何故,我试图查询其中一个,它工作得很好,但当我尝试使用另一个模型的相同代码时,它给了我错误。我能找到的唯一区别是 lated_name 我找到了解决方法,但我
我的大部分 Django 模型都使用相同的 User Mixin,因此我想为该字段动态创建 related_name。 我希望它是 TestModel 变成 test_models 的类名,或者甚至是
当我在多个字段上使用 django Prefetch 对象 ( https://docs.djangoproject.com/en/2.2/ref/models/querysets/#prefetch
我试图在 Django 中设计一个带有一些审计字段的模型。例如创建于、创建于、更新于和更新于。这四列将在不同应用程序的所有模型中重复出现。 我的第一个问题,是否有一种方法可以放置这些列,并且可以在我每
我最近在我的 Django 模型中遇到了 ForeignKey 冲突。我需要有两个外键(owner、assigned_to)最终指向同一个模型(一个用户)。 据我了解,我需要一个 related_na
我真的很喜欢 Peewee ORM。它轻巧,易于使用,并且有很好的文档记录。我难以理解的一件事是实现外键时使用的 related_name 属性。我永远不确定该属性是否应该与表或列相关。有人可以向我确
我已经搜索了一段时间来解决我的问题,但我似乎无法解决这个问题。 所以我有两个模型: class Messages(models.Model): _db = 'somedb' id =
我是一名优秀的程序员,十分优秀!