【发布时间】:2021-05-19 00:43:51
【问题描述】:
我正在使用 djangorestframework。我希望能够使用 POST 方法更改我的对象的特定字段。有人可以帮忙吗?我不知道该怎么做。 这是我的模型:
class Employee(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
gender = models.CharField(max_length=10)
national_code = models.CharField(max_length=11)
personal_code = models.CharField(max_length=15)
phone_number = models.CharField(max_length=11)
address = models.CharField(max_length=50)
married = models.BooleanField()
age = models.IntegerField()
wage = models.IntegerField()
def __str__(self):
return self.first_name + ' ' + self.last_name
例如,我希望能够使用这样的 url 将我的一名员工的工资(个人代码 123)更改为新工资 500000:
POST /myupdate/123/500000
【问题讨论】:
-
不建议像工资一样通过 url 发送数据,最好在请求中将其作为数据发送。而且对于更新,您必须使用 put 或 patch not post。
-
@Mastisa 是的。我看到的所有例子都是补丁或放置。但在我的项目中,它特别要求对这个 url 使用 post 方法。这甚至可以做到吗??
-
使用 http 方法可以做任何事情,但有些违反规则。
-
@Mastisa right.顺便说一句,非常感谢您的帮助:)
标签: django api django-models django-rest-framework