Python学习---django多对多自定义第三方表180206

案例一:

# version: python3.2.5
# author: ‘FTL1012‘
# time: 2018/2/6 16:25
from django.db import models
class Book(models.Model):
    name = models.CharField(max_length=33)


class Author(models.Model):
    name = models.CharField(max_length=33)

# 自己创建第三张关联表,查询操作数据更加灵活
# 此时Django内部的多对多已经失效[包括Django多对多的remove,add方法均失效]
class A_to_B(models.Model):
    bid = models.ForeignKey(Book, on_delete=True)
    aid = models.ForeignKey(Author, on_delete=True)

    # 创建联合唯一索引
    class Meta:
        unique_together = (
            ('bid', 'aid'),   # 多个联合索引,可以元组套元组
        )

案例二:

# version: python3.2.5
# author: ‘FTL1012‘
# time: 2018/2/6 16:25
from django.db import models
class Book(models.Model):
    name = models.CharField(max_length=33)


class Author(models.Model):
    name = models.CharField(max_length=33)

# 自己创建第三张关联表,查询操作数据更加灵活
# 此时Django内部的多对多已经失效[包括Django多对多的remove,add方法均失效]
class A_to_B(models.Model):
    bid = models.ForeignKey(Book, on_delete=True)
    aid = models.ForeignKey(Author, on_delete=True)

    # 创建联合唯一索引
    class Meta:
        unique_together = (
            ('bid', 'aid'),   # 多个联合索引,可以元组套元组
        )
此时,所有的操作都是基于一对多和单表的操作了

猜你喜欢

转载自www.cnblogs.com/ftl1012/p/9403817.html