在这个问题上绞尽脑汁。该模型似乎是正确的,理论上所有注释的排列都应该起作用——但唯一可以成功检索用户的是 .filter 和 .all;.get 不起作用;我可以使用 .filter 或 .all 处理 ---- 但为什么不能正常工作?
我将重申,在这种情况下,直接 SQL 查询 100% 有效。所有导入都已到位,并且在低级别上运行良好 - 再次,过滤器工作,所有工作,但由于某种原因而失败。
class UserModelTest(TestCase):
def test_getUserByUsername(self):
sanity = True
try:
#u = User.objects.filter(username='wadewilliams')
u = User.objects.get(username='wadewilliams')
#u = User.objects.get(pk=15773)
#u = User.objects.all()
print u
except User.DoesNotExist:
sanity = False
self.assertEqual(sanity, True)
...该测试失败,除非我取消注释过滤器或全部...两者都得到,不行。
还有模特...
class User(models.Model):
userid = models.IntegerField(primary_key=True, db_column='userID')
username = models.CharField(max_length=135)
realname = models.CharField(max_length=150, db_column='name')
email = models.CharField(max_length=765, blank=True)
class Meta:
db_table = u'users'
def __unicode__(self):
return self.username + ' (' + self.email + ')'