一对多理解

article–models.py
#创建类,Category,Article,Comment
#一个目录下包含多篇文章
#一个作者可以写多篇文章,
#即文章的外键是Category
#文章的外键是frontuser.FrontUser,另一个APP下
#self代表自己
#models.ForeignKey(‘self’,on_delete=models.CASCADE)
from django.db import models
from frontuser.models import FrontUser

Create your models here.

class Category(models.Model):
name = models.CharField(max_length=100)
def str(self):
return “Category:(id:%s,name:%s)” %(self.id,self.name)

def default_category():
return Category.objects.get(pk=4)

class Article(models.Model):
title = models.CharField(max_length=100)
content = models.TextField()
category = models.ForeignKey(“Category”,on_delete=models.CASCADE)
author = models.ForeignKey(‘frontuser.FrontUser’,on_delete=models.CASCADE,null=True)

def __str__(self):
    return "<Article:(id:%s,title:%s)>" %(self.id,self.title)

class Comment(models.Model):
content = models.TextField()
origin_comment = models.ForeignKey(‘self’,on_delete=models.CASCADE)

views.py
def one_to_manage_view(request):
#1对多的关联操作
# article = Article(title=‘钢铁是怎样练成的’,content=‘abc’)
# category = Category.objects.first()
# author = FrontUser.objects.first()
# article.category = category
# article.author = author
# article.save()
# return HttpResponse(“success”)
#2.某个分类下所有的文章
category = Category.objects.first()
# # article = category.aritcle_set.first()
# print(“cate-======>”,category)
article = Article(title=‘ccc’,content=‘nnnn’)
article.author = FrontUser.objects.first()
category.articles.add(article,bulk = False)
return HttpResponse(“success”)

FrontUser models.py
from django.db import models

Create your models here.

class FrontUser(models.Model):
author = models.CharField(max_length=100)
def str(self):
return “FrontUser:(id:%s,author:%s)” %(self.id,self.author)
path(r’one_to_manage_view/’,views.one_to_manage_view,name=‘one_to_manage_view’),


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值