これに頭を悩ませます。モデルは真実のようです。理論的には、コメントされたすべての順列が機能するはずです---しかし、ユーザーを正常に取得できるのは.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 + ')'