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

Django数据库:保存一个新条目Wtihout首先保存它的ForeignKeys

孙思源
2023-03-14

假设我有这样一个模型结构:

class Cheese(Model.models):
    type = models.CharField(max_length='50')

class Sauce(Models.models):
    type = models.CharField(max_length='50')

class Pizza(Models.models):
    cheese = models.ForeignKey(Cheese)
    sauce = models.ForeignKey(Sauce)

class PizzaOrder(Models.model):
    pizza = models.ForeignKey(Pizza)
    time = models.DateTimeField(auto_now_add=True)

考虑到这一点,现在我想为PizzaOrder创建一个新条目--但我不想要奶酪、沙司或披萨的任何副本--只是PizzaOrder来表示刚刚订购的披萨。

共有1个答案

曾河
2023-03-14

如果你想避免制造重复的奶酪、酱料和披萨,你可以这样做:

class Cheese(Model.models):
    type = models.CharField(max_length='50', unique=True)

class Sauce(Models.models):
    type = models.CharField(max_length='50', unique=True)

class Pizza(Models.models):
    cheese = models.ForeignKey(Cheese)
    sauce = models.ForeignKey(Sauce)

    class Meta:
         unique_togather=(("cheese", "sauce"),)
 类似资料:
  • PS Vita可游玩从PlayStation®Store下载的PSP™Game。 在此可确认或删除PSP™Game的保存数据。 已插入PS Vita专用存储卡的状态下,轻触[应用程序数据管理]>[保存数据(PSP™/其它)]。

  • 下面是我的两个活动的代码。通过这样编码,数据在FireBase中就这样存储了。这是存储数据的快照: 但是我想像这样在firebase中存储数据,我想像这样存储在注册号字段下: 我想将来自多个活动的数据存储在同一个子元素下,就像我在第二张屏幕截图中显示的那样。 AccountyActivity.java SignupActivity.java

  • 我是Hibernate的新手,并要求使用具有这些列的表的数据库 表:TBL _ product//库存项目列表< br >列:< br > key _ product < br > key _ category < br > fld _ product _ name < br > fld _ Inventory _ qty < br > fld _ unit _ price < br > fld

  • 问题内容: 我是Redis的新手,但是有一个与备份有关的问题。 现在,我有一个实例在Windows服务器上运行。在此实例内部,我目前有一个“作业”,可将数据存储在一个数据库中。我不希望备份这些数据。 我必须创造一份新工作。我的第一个想法是将数据存储在另一个数据库中,但是在同一实例上。然后,我将在此数据库ID上激活RDB备份。 但是,当我阅读redis文档时,会看到以下命令进行备份: 此命令仅备份当

  • 每个上下文实例都会有一个变更跟踪器 ChangeTracker,它负责记录要写入数据库的变更。当你更改实体类型实例时,这些变更会被记录到变更跟踪器,然后在你调用 SaveChanges 的时候被写入数据库。数据库提供程序会负责而将变更翻译为数据库特定的操作(比如关系数据库的 INSERT、UPDATE、DELETE 命令)。

  • 问题内容: 我有一个模型对象,我想要一个带有日期的字段。目前,我正在使用适合我们需求的产品。 Hibernate将该字段以形式存储在数据库中。我们可以将其在数据库中的保存方式更改为更易读的格式,更重要的是将其更改为可排序的格式吗? 使用的数据库是mysql db。 问题答案: 这个问题已经解决了作为一种新的改进来 ,原来这是一个孤立的捆绑模块 现在,它直接捆绑,所以只要确保你使用的是最新的版本,它