1. 程式人生 > >manytomany django

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')