当前位置: 首页 > 知识库问答 >
问题:

如何让两种模式相互借鉴Django

明越
2023-03-14
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) #<----

编辑:为了弄清楚事情,这里有一个例子。如果有五个成员玩一个游戏,那么所有五个成员都将拥有该游戏的外键。另一方面,游戏会有一个外键指向轮到的特定成员。

共有1个答案

颜君浩
2023-03-14

ForeignKey字段的Django文档说明:

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

所以在你的情况下,那将是:

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

class Member(models.Model):
    # Other fields...
    game = models.ForeignKey(Game)
 类似资料:
  • 我有以下情况: 我有两个JVM进程(实际上是两个单独运行的java进程,而不是两个线程)在本地机器上运行。让我们把它们称为进程A和进程B。 我希望他们彼此通信(交换数据)(例如,ProcessA向ProcessB发送消息以执行某些操作)。 现在,我通过编写一个临时文件来解决这个问题,这些过程会定期扫描该文件以获取消息。我认为这个解决方案不太好。 什么是实现我想要的更好的选择?

  • 目前,我在一个连接到K8s Redis服务的K8s服务中使用了K8s API Pod,并且使用了它自己的K8s Pod。问题是,我使用NodePort的意思是两个都暴露在公众面前。我只想让公众访问API。问题是,如果我使Redis服务不公开,API就看不到它。有没有一种方法可以将两个服务连接起来,同时又不会将一个服务暴露在公众面前? 这是我的API服务YAML: 这是我的Redis服务YAML:

  • 在通过 let 绑定来进行模式匹配或解构时,ref 关键字可用来接受结构体/元组的字段的引用。下面的例子展示了几个实例,可看到 ref 的作用: #[derive(Clone, Copy)] struct Point { x: i32, y: i32 } fn main() { let c = 'Q'; // 赋值语句中左边的 `ref` 关键字等价右边的 `&` 符号。

  • 问题内容: 我有称为的布局,并且将方向设置为纵向。我也为Honeycomb设计了这种布局,并将其放置在文件夹中,但是我只想在横向使用 in 。 现在,该怎么办? 谢谢 问题答案: 您可以将其放置在中,然后仅以横向使用。 请参阅支持多屏幕(使用配置限定符) Android支持多个配置限定符,可让您控制系统如何根据当前设备屏幕的特征选择备用资源。配置限定符是一个字符串,您可以将其附加到Android项

  • 问题内容: 我有一个用Java编写的应用程序,我想为其添加一个Flash前端。Flash前端将与独立Flash Player中的Java应用程序在同一台计算机上运行。我需要两个部分之间的双向通信,并且甚至不知道该如何开始。我想可以在两个程序之间打开一个套接字,但是我觉得必须有一个更简单的方法。ActionScript 3.0中的api是否有一个很好的部分,可以让我直接访问java方法,还是必须诉诸