• manytomany django 正查, 反查


    models

    from django.db import models
    from django.contrib.auth.models import User
    
    class GroupSheet(models.Model):
        group=models.CharField(max_length=32,null=False,unique=True)
        gid=models.CharField(max_length=128,null=False,unique=True)  #1$1, 1$1$2, 1$10$21
    
    
    class QuestionSheet(models.Model):
        title=models.CharField(max_length=128,null=False)
        narritive=models.TextField()
        group=models.ForeignKey(GroupSheet,on_delete=models.CASCADE)
        user=models.ForeignKey(User,on_delete=models.CASCADE)
        postdate=models.DateTimeField(auto_now=True)
    
    
    class AnswerSheet(models.Model):
        question=models.ForeignKey(QuestionSheet,on_delete=models.CASCADE)
        answer=models.TextField()
        postdate=models.DateTimeField(auto_now=True)
        user=models.ForeignKey(User,on_delete=models.CASCADE)
        plus=models.BooleanField()
        plus_answer=models.ManyToManyField('AnswerSheet',related_name='test')

    execute via view:

    from django.shortcuts import render
    from django.views import View
    from yufei.models import *
    
    
    class IndexView(View):
        def get(self,request):
            增加
            obj=AnswerSheet.objects.get(id=9)
            follow=AnswerSheet.objects.get(id=6)
            obj.plus_answer.add(follow)   #要用字段名
            删除
            obj=AnswerSheet.objects.get(id=9)
            follow=AnswerSheet.objects.get(id=6)
            obj.plus_answer.remove(follow)  #要用字段名
    
            #查询
            obj = AnswerSheet.objects.get(id=9)
            b=obj.plus_answer.all()
            print('正查',b)
    
            obja = AnswerSheet.objects.get(id=6)
            c = obja.test.all()
            print('反查', c)
    
            return render(request,'index.html')
  • 相关阅读:
    Wireshark的简介
    Node.js + Express 构建的订餐系统
    java 文件下载支持中文名称
    java判断A字符串中是否包含B字符
    Java查询目录下的所有文件(包括子目录)
    Java从指定URL下载文件并保存到指定目录
    Java逻辑分页代码
    JS实现文字向上无缝滚动轮播
    JAVA调用外部安装7-Zip压缩和解压zip文件
    Zip文件和RAR文件解压
  • 原文地址:https://www.cnblogs.com/pythonClub/p/9886428.html
Copyright © 2020-2023  润新知