首页 > 其他 > 详细

django2-一对多

时间:2019-06-02 00:13:49      阅读:129      评论:0      收藏:0      [点我收藏+]

一对多

环境

两个类:书的类别和文章,一片文章只能有一个作者,一个作者可以有多个文章,这之间组成了一对多的关系

class Category(models.Model):
    category = models.CharField(max_length=100)

    def __str__(self):
        return self.category



class Article(models.Model):
    title = models.CharField(max_length=20,verbose_name=书名)
    info = models.TextField(verbose_name=内容)
    author = models.CharField(max_length=10, verbose_name=作者)
    f = models.ForeignKey(to=Category,on_delete=models.CASCADE)#如果不想用article_set这种形式查找,可以使用related_name=‘articles‘,那么在视图one_to_many函数中就可以使用articles = category.articles.all()

添加文章

def add_article(request):
    article = Article(title=钢铁是怎样炼成的,info=不知道,author=疯子)
    article.f = Category.objects.get(id=1)
    article.save()
    return HttpResponse(添加文章成功)

 

通过书的类型查找文章

def one_to_many(request):
    category = Category.objects.first()
    articles = category.article_set.all()#all可以换成filter或者first
    for i in articles:
        print(i.title)
        print(i.author)
        print(i.content)
    return HttpResponse(ok)

 

django2-一对多

原文:https://www.cnblogs.com/fengzi7314/p/10961576.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!