Django多表連接查詢


1、一對一查詢

    models.OneToOneField(Entry)
    兩個實體類:Author , Wife
        1、通過 Author 找 Wife
            author = Author.objects.get(id=1)
            wife = author.wife
        2、通過 Wife 找 Author
            wife = Wife.objects.get(id=2)
            author = wife.author

2、一對多/多對一查詢

    model = models.ForeignKey(Entry)
    兩個實體類:Publisher(一) , Book(多)
    正向查詢:
        book = Book.objects.get(id=1)
        publisher = book.publisher
    反向查詢
        publisher = Publisher.objects.get(id=4)
        books = publisher.book_set.all()

3、多對多查詢

    1、什么是多對多
        A表中的一條記錄可以與B表中的任意多條記錄匹配,同時B表中的每一條記錄也可以與A表中的任意多條記錄相匹配
    2、語法
        entry = models.ManyToManyField(Entry)
    3、查詢
        class Author(models.Model):
            ... ...
            publish = models.ManyToManyField(Publish)
        
        正向查詢:在 Author 中查詢 Publish
            author = Author.objects.get(id=3)
            pub_list=author.publish.all()

            通過關聯屬性.all()
        反向查詢:在 Publisher 中查詢 Author
            pub = Publisher.objects.get(id=1)
            auList = pub.author_set.all()

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM