如何伪造django.contrib.auth特定用户的用户值?

时间:2014-06-03 19:27:39

标签: python django django-authentication

我正在编写一个脚本,想要伪造一个id(PK)为2的用户

var = Table(FKToUser=2)
var.save()

问题是我得到了:

"Table.FKToUser" must be a "User" instance

我已经确认auth_user的记录为id=2

如何为测试目的伪造此2值?

谢谢!

1 个答案:

答案 0 :(得分:1)

假设Table是您的模型且FKToUser是外键,有两种方法。第一种是将FKToUser_id属性设置为2并保存模型。另一种方法是获取用户并将FKToUser属性设置为正确的用户模型实例。

这也基本上是外键如何工作的。数据库中的实际列是FKToUser_id列,它是另一列中id的简单Integer外键。 Django magic可以通过访问FKToUser自动检索正确的实例,并通过将模型实例分配给FKToUser来设置正确的值。