Django:将公共字段存储在父模型中

摇滚乐

我有一些模型:

class Place(models.Model):
    name = models.CharField(unique=True)

class Bar(Place):
    drinks = models.ManyToManyField('Drink')

class Restaurant(Place):
    meals = models.ManyToManyField('Meals')

这是一个多表继承的结构,其中每个酒吧仅提供饮料,而每个餐厅仅提供餐点。不过,我需要每个地方的名称在所有地方都是唯一的-因此要使用父Place模型。

现在,多表继承假定父级和子级是单独的实体。这意味着当我想创建一个新的时Bar,我应该这样:

>> parent = Place(name='Myplace')
>> parent.save()
>> child = Bar(place=parent, drinks=mydrinklist)
>> child.save()

但就我而言,Place它不是一个单独的实体:它不应该单独存在。它只是一个共享存储,但有一些限制。我想要这样的东西:

>> child = Bar(name='Myplace', drinks=mydrinklist)
>> child.save()

wherename属性会自动传递给基础父模型,并Placesave()调用静默方式创建模型SQLAlchemy可以通过其多表继承来做到这一点。有没有办法在Django中实现相同的目标?

赫尔曼·沙夫(Herman Schaaf)

Django的抽象基类解决了在模型之间共享公共字段的问题:

class Place(models.Model):
    name = models.CharField(unique=True)

    class Meta:
        abstract = True

编辑:话虽如此,正如丹尼尔在评论中提到的那样,您建议的解决方案应该可以正常工作。这是有关Django多表继承的更多信息

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django:将公共字段存储在父模型中

来自分类Dev

使用Django中的Child模型字段获取父对象

来自分类Dev

Django 模型 - 如何在字典中存储字段

来自分类Dev

在Django的管理模型详细信息中显示模型父字段

来自分类Dev

Django 1.9:字段与父模型中不存在的字段发生冲突

来自分类Dev

django模型:将多行线地址存储为一个模型字段的好方法

来自分类Dev

如何在计算中使用存储在 django 模型中的数据,然后将计算结果存储在 django 模型字段中?

来自分类Dev

从FileField中的Django模型将图像上传到Firebase存储

来自分类Dev

将当前用户的ID与Django模型中的字段进行匹配

来自分类Dev

Django模型字段,用于存储函数或类

来自分类Dev

将Django模型父类添加到现有模型中以进行多表继承

来自分类Dev

不信任父级:将一些模型属性存储在单独的密钥库中

来自分类Dev

PHP 中的可见性 - 父类的公共字段

来自分类Dev

将公共密钥存储在变量php中

来自分类Dev

透明地将Django模型字段存储为JSON数据

来自分类Dev

Django模型中的DRY字段

来自分类Dev

在Django中强制模型字段

来自分类Dev

Django中的动态模型字段

来自分类Dev

Django模型中的字段分配

来自分类Dev

url中的django模型字段

来自分类Dev

在非父模型的inlineformset中更改模型字段的查询集

来自分类Dev

如何使用子模型访问表单中的父模型字段?

来自分类Dev

将BlobKey存储在模型中

来自分类Dev

如何从 Django 模型中获取特定用户的数据并将每个字段存储在单独的变量中

来自分类Dev

一旦将字段变成Django中的属性,如何防止字段从模型中“删除”?

来自分类Dev

Django,使用ForeignKey将模型字段与管理模型字段链接

来自分类Dev

Django模型字段-无论如何定义存储对象的字段

来自分类Dev

如何从suds响应中获取未解析的XML,以及用于存储的最佳Django模型字段

来自分类Dev

计算两个时间字段之间的差异并将其存储在Django模型中

Related 相关文章

  1. 1

    Django:将公共字段存储在父模型中

  2. 2

    使用Django中的Child模型字段获取父对象

  3. 3

    Django 模型 - 如何在字典中存储字段

  4. 4

    在Django的管理模型详细信息中显示模型父字段

  5. 5

    Django 1.9:字段与父模型中不存在的字段发生冲突

  6. 6

    django模型:将多行线地址存储为一个模型字段的好方法

  7. 7

    如何在计算中使用存储在 django 模型中的数据,然后将计算结果存储在 django 模型字段中?

  8. 8

    从FileField中的Django模型将图像上传到Firebase存储

  9. 9

    将当前用户的ID与Django模型中的字段进行匹配

  10. 10

    Django模型字段,用于存储函数或类

  11. 11

    将Django模型父类添加到现有模型中以进行多表继承

  12. 12

    不信任父级:将一些模型属性存储在单独的密钥库中

  13. 13

    PHP 中的可见性 - 父类的公共字段

  14. 14

    将公共密钥存储在变量php中

  15. 15

    透明地将Django模型字段存储为JSON数据

  16. 16

    Django模型中的DRY字段

  17. 17

    在Django中强制模型字段

  18. 18

    Django中的动态模型字段

  19. 19

    Django模型中的字段分配

  20. 20

    url中的django模型字段

  21. 21

    在非父模型的inlineformset中更改模型字段的查询集

  22. 22

    如何使用子模型访问表单中的父模型字段?

  23. 23

    将BlobKey存储在模型中

  24. 24

    如何从 Django 模型中获取特定用户的数据并将每个字段存储在单独的变量中

  25. 25

    一旦将字段变成Django中的属性,如何防止字段从模型中“删除”?

  26. 26

    Django,使用ForeignKey将模型字段与管理模型字段链接

  27. 27

    Django模型字段-无论如何定义存储对象的字段

  28. 28

    如何从suds响应中获取未解析的XML,以及用于存储的最佳Django模型字段

  29. 29

    计算两个时间字段之间的差异并将其存储在Django模型中

热门标签

归档