zoukankan      html  css  js  c++  java
  • 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')
  • 相关阅读:
    编写内核模块
    ubuntu安装虚拟磁带库mhvtl
    linux中断与异常
    jquery 强大表格插件 DataTables
    判断元素是否存时,使用isset会比in_array快得多
    MarkDown 语法
    接口测试、压力测试工具
    jquery 复制文本到剪切板插件(非 flash)
    fiddler抓包HTTPS请求
    php mongodb manager 查数据的各种姿势
  • 原文地址:https://www.cnblogs.com/pythonClub/p/9886428.html
Copyright © 2011-2022 走看看