我有以下代码:

class Game(models.Model):
    title = models.CharField(max_length=50)
    summery = models.CharField(max_length=500)
    key = models.IntegerField()
    pin = models.CharField(max_length=12)
    complete = models.BooleanField()
    invite_sent = models.DateTimeField()
    on = models.ForeignKey(Member, blank = True) #<----


class Member(models.Model):
    email = models.CharField(max_length=100)
    color = models.CharField(max_length=11)
    game = models.ForeignKey(Game) #<----

"开启"外键链接到其中一个成员(轮到谁了).游戏的所有成员都将其"游戏"外键设置为他们正在玩的游戏.问题是Django不允许我在类被声明之前引用它,因为我不能同时声明它们...

编辑:为了把事情弄清楚,这里有一个例子.如果有五名成员玩一场游戏,所有五名成员都会有游戏的 foreign keys .另一方面,游戏将有一个外键指向轮到其的特定成员.

推荐答案

Django documentation for the ForeignKey field个州:

如果需要在尚未定义的模型上创建关系,则可以使用模型的名称,而不是模型对象本身.

因此,在您的情况下,这将是:

class Game(models.Model):
    # Other fields...
    on = models.ForeignKey('Member', blank = True)

class Member(models.Model):
    # Other fields...
    game = models.ForeignKey(Game)

Django相关问答推荐

Django ORM Groupby

Django Prefetch上的多重过滤

在/Contact-Agent/Get()返回的多个对象返回了多个属性--它返回了2

在生成的表单元素处出现多值DictKeyError

试图找出投票的总数,但无法理解它是如何在序列化器中完成的.我是Django的新手,它是如何完成的?

有什么方法可以自动设置 Debug True Django application

来自 Django 应用程序的日志(log)消息未上传到 AWS CloudWatch

Django REST Framework 图片上传

Django - 站点匹配查询不存在

Django - 在模板中显示当前日期和时间

我的 django 模型 DateField 如何将 30 天添加到提供的值?

Django - 如何从模型中 Select 特定列?

如何验证对象是否存在于多线程中

整数的Python正则表达式?

无效的块标签: static

在 Django Admin 中过滤多对多框

如何重置 PostgreSQL 表上的 ID 序列

ProgrammingError: 安装 Psycopg2 后,关系django_session不存在错误

django 如何知道已经运行了哪些迁移?

APIView 类和视图集类之间的区别?