django - Django 模型测试
问题描述
我在测试时尝试打印模型信息时遇到问题。这是我的代码:
from django.test import TestCase
from .models import User, Followed, Following, Post
# Create your tests here.
class User_test(TestCase):
def setUp(self):
a = User.objects.create(username="a", password="a", email='a@a')
f = User.objects.create(username="f", password="f", email='f@f')
Followed.objects.create(user=a)
Following.objects.create(user=f)
Followed.objects.create(user=f)
Following.objects.create(user=a)
def test_a(self):
userA = User.objects.get(username='a')
userF = User.objects.get(username='f')
peopleFollowingF = Followed.objects.get(user=userF)
peopleFollowingA = Followed.objects.get(user=userA)
Afollowing = Following.objects.get(user=userA)
Ffollowing = Following.objects.get(user=userF)
userA.save()
Ffollowing.follower.add(User.objects.get(username='a'))
Ffollowing.save()
print(Ffollowing.follower)
当我运行测试时,我得到 print network.User.None
有人可以帮我成功打印添加 userA 吗?
解决方案
Ffollowing.follower
是manager,而不是 a QuerySet
,您可以使用.all()
将其转换为 a QuerySet
,这将打印元素:
print(Ffollowing.follower.all())
推荐阅读
- c - 为什么代码显示空白而不是 C 中的字符串?
- python-3.x - 有没有临时变量之类的东西?
- docker - 在生产 VPS/VDS 上使用 Docker 容器有意义吗?
- python - 通过dict中的多个键对dict列表进行排序
- c++ - 如何在 CentOS 和 RedHat Linux 上安装和编译 C++ 代码?
- ios - 日期格式化程序没有为使用相同日期格式化程序生成的日期字符串重新调整正确日期
- java - 如何检查在 NetBeans 12.2 中运行的 maven 版本?
- javascript - 动画按钮使相邻元素移动
- c++ - C ++:链接列表的相同代码但不同的输出
- google-chrome - beforeinstallprompt 事件为源或服务工作者范围触发