美文网首页
django-model外键关系之一对一

django-model外键关系之一对一

作者: 陆_志东 | 来源:发表于2018-08-22 22:07 被阅读7次

一对一关系的创建

from django.db import models

class Place(models.Model):
    name = models.CharField(max_length=50)
    address = models.CharField(max_length=80)

    def __str__(self):              # __unicode__ on Python 2
        return "%s the place" % self.name

class Restaurant(models.Model):
    place = models.OneToOneField(Place, primary_key=True)
    serves_hot_dogs = models.BooleanField(default=False)
    serves_pizza = models.BooleanField(default=False)

    def __str__(self):              # __unicode__ on Python 2
        return "%s the restaurant" % self.place.name

class Waiter(models.Model):
    restaurant = models.ForeignKey(Restaurant)
    name = models.CharField(max_length=50)

    def __str__(self):              # __unicode__ on Python 2
        return "%s the waiter at %s" % (self.name, self.restaurant)

一对一关系的使用

#创建几个Places对象:
>>> p1 = Place(name='Demon Dogs', address='944 W. Fullerton')
>>> p1.save()
>>> p2 = Place(name='Ace Hardware', address='1013 N. Ashland')
>>> p2.save()

# 创建Restaurant对象。
>>> r = Restaurant(place=p1, serves_hot_dogs=True, serves_pizza=False)
>>> r.save()

# 调用
>>> r.place
<Place: Demon Dogs the place>

# 从Place对象可以访问它的Restaurant(如果存在的话):注意一对一关系和一对多和多对多他们的调用方法都不一样
>>> p1.restaurant
<Restaurant: Demon Dogs the restaurant>

相关文章

  • django-model外键关系之一对多

    一对多 外键字段是放在多的一方模型类里面的 比如,一辆汽车(Car)有一个制造商(Manufacturer) ——...

  • django-model外键关系之一对一

    一对一关系的创建 一对一关系的使用

  • django-model外键关系之多对多

    多对多 ManyToManyField用来定义多对多关系多对多在哪个模型中设置ManyToManyField并不重...

  • 2018-01-19

    1对n关系:外键关联与逻辑外键外键关联缺陷:外键字段的值必须依赖于另一张表的唯一性约束字段逻辑关联缺陷:逻辑外键所...

  • Django学习笔记:Models03 关系类型字段

    多对一(ForeignKey) 多对一关系由外键实现,外键要定义在“多”的一方,如: models.Foreign...

  • 数据表间关系

    一对多关系 表一建立主键、并将表二的主键作为外键 表二建立主键 一对一关系 表一建立主键、并将表二的主键作为外键,...

  • MySQL操作-2 (笔记)

    1.多表关系维护 外键约束:forerign key 给product 添加一个外键约束 多表建表原则 一对一 一...

  • django 2.0外键处理

    Django2.0里model外键和一对一的on_delete参数 在django2.0后,定义外键和一对一关系的...

  • 约束以及修改数据表

    外键约束: foreign key保持数据的完整性 一致性。 实现一对一 或一对多的关系 外键约束的要求:1 ...

  • mysql 外键那些事

    FOREIGNKEYp: 外键约束,保持数据一致性,完整性。实现一对一或一对多关系。 外键约束的要求: 1,父表和...

网友评论

      本文标题:django-model外键关系之一对一

      本文链接:https://www.haomeiwen.com/subject/ugruiftx.html