django 一对多操作

Django一对多查询

  • 模型

    from django.db import models
    
    # 创建用户模型
    class User(models.Model):
        name = models.CharField(max_length=32)
    # 创建书籍模型    
    class Book(models.Model):
        title = models.CharField(max_length=32)
        us = models.Foreign('User',on_delete=models.CASCADE)
    
  • 视图函数

    from django.shortcus import render,HttpResponse
    import models
    # 通过人查询书
    def index(request):
        user = models.User.objects.filter(id=1).first()
        uname = user.name # 人名
        book_list = [i.title for i in user.book_set.all()] # 书名的集合
        return HttpResponse('ok')
    
    # 通过书查询人
    def index_b(request):
        book = Book.objects.filter(id=1).first()
        bname = book.title # 书名
        uname = book.us.name # 人名
        return HttpResponse('ok')
    
原文地址:https://www.cnblogs.com/wuxiaoshi/p/11710689.html