我在编写测试用例时遇到了麻烦...
注意:我只创建一个帖子,我的测试就很好用。
现在我想创建一个嵌套帖子:
这是我当前正在尝试但未成功的代码段: 一开始看到它,后来我解释了这个问题
from django.test import TestCase
from django.urls import reverse
from .. tests import CategoryFactory, ArticleFactory, AuthorFactory
class TestSingleArticle(TestCase):
def setUp(self):
self.author = AuthorFactory()
#create category
self.category = CategoryFactory.create_batch(
4,
name='my category'
)
# create article
self.article = ArticleFactory.create_batch(
4,
category=self.category,
author=self.author
)
# Set the url
self.url = reverse('article-single', args=[self.article.alias])
#######################
# Test Get Method
#######################
def test_single_article_get(self):
request = self.client.get(self.url)
self.assertEqual('my category', request.data['category'])
请仔细阅读以下内容:
Author
将是一个,我想创建4个Category
并使用这4个类别创建4个Article
...,在每个category
中,将是一个{{1} },共4个类别。我尝试了很多,但未能创建出这样的东西...
有人说我可以通过for循环来实现它,但是我做不到。
我也想将每个文章别名传递给article
以便在我的api端点中请求...
如果您没有获得上述代码,则可以查看我的模型:
self.url
并且知道我正确实现了from django.db import models
from django.contrib.auth.models import User
import uuid
class Author(models.Model):
name = models.ForeignKey(User, on_delete=models.CASCADE)
detail = models.TextField()
def __str__(self):
return self.name.username
class Category(models.Model):
name = models.CharField(max_length=100)
def __str__(self):
return self.name
class Article(models.Model):
alias = models.UUIDField(primary_key=True, default=uuid.uuid4, editable=False)
author = models.ForeignKey(Author, on_delete=models.CASCADE, related_name='author')
title = models.CharField(max_length=200)
body = models.TextField()
category = models.ForeignKey(Category, on_delete=models.CASCADE)
...没问题。.只有创建具有多个类别的多个文章...
如果您需要其他任何信息,请告诉我...
最近几天我尝试了这个问题,但是我不能
谢谢