我在测试时遇到问题。这是我第一次编写测试,但我遇到了问题。
我刚刚在应用程序内部创建了一个测试文件夹users,test_urls.py用于测试url。
当我输入:
python manage.py test users
它说:
为别名“默认”创建测试数据库...创建测试数据库时出错:数据库“ database_name”已存在
如果要尝试删除测试数据库“ database_name”,请输入“ yes”,否则请输入“ no”以取消:
这是什么意思?如果输入是会怎样?我会丢失数据库中的所有数据吗?
如何在 Arch 发行版中使用 Pacman 降级软件包版本?例如,python-flask 是版本 2。但我需要将其降级到 1.1.2-4。
我该怎么做?
假设我有如下关系:
class Student(AbstractBaseUser):
# It inherits AbstractBaseUser and has it's own manger
# note: I did forget to add editable here
id = models.UUIDField(primary_key=True, default=uuid.uuid4)
firstname
lastname
...
class Teacher(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True)
firstname
lastname
email
...
class Meeting(models.Model):
id = models.UUIDField(default=uuid.uuid4, primary_key=True, editable=False)
student = models.ManyToManyField(Student)
teacher = models.ManyToManyField(Teacher)
Run Code Online (Sandbox Code Playgroud)
我应该如何为“学生”或“教师”字段添加/设置值。我尝试将相关模型中的对象分配给它们,但收到错误:
禁止直接分配到多对多集的前端。使用student.set() 代替。
我也尝试过这个:
m = Meeting()
s = Student.objects.first() #to get a random student
m.student.add(s)
Run Code Online (Sandbox Code Playgroud)
然后我得到: ValueError: Cannot add "<Student: sarah@gmail.com>": 实例在数据库“None”上,值在数据库“default”上
我也这样做了:
m = Meeting.objects.create() …Run Code Online (Sandbox Code Playgroud) 端点:http ://127.0.0.1:8000 /users/current/ 用于更新当前登录的用户。需要更新这些字段:当我使用 POSTMAN 将数据作为 JSON 发送到端点时:
{
"first_name": "Amir",
"last_name": "",
"profile": {
"location": "Florida",
"profession": "Not being useless",
}
}
Run Code Online (Sandbox Code Playgroud)
我应该如何在flutter中将其以http包形式发送?目前我通过以下方式发送:
Future<void> updateCurrentUserInformation(Teacher newTeacher) async {
const String url = "http://10.0.2.2:8000/users/current/";
await http.patch(
url,
body: {
"first_name": newTeacher.first_name,
"profile": "" //HOW DO I SHOULD SEND A MAP TO UPDATE LOCATION AND PROFESSION?
},
headers: {"Authorization": "JWT $authToken"},
).then((value) {
print(authToken);
print(value.body);
});
}
Run Code Online (Sandbox Code Playgroud)
我应该如何发送地图来更新位置和职业?
更新:即使我将配置文件编码为 JSON 服务器返回:{"profile":["This field is required."]}
这是代码:
Future<void> updateCurrentUserInformation(Athlete newTeacher) async …Run Code Online (Sandbox Code Playgroud)