所以我有两个模型:
class UserData(models.Model):
""" Holds basic user data. """
id = models.IntegerField(primary_key=True, editable=False) # id is taken from data.
class ConsumptionTimePoint(models.Model):
""" Individual consumption time points with a One-to-Many relationship with UserData """
user_data = models.ForeignKey(UserData, on_delete=models.CASCADE)
当我试着通过创建它们,以及它们在测试中的关系来测试它们时:
def test_basic_model_creation(self):
user_data_object = UserData.objects.create(id=1)
user_data_object.save()
consumption_time_point_object = ConsumptionTimePoint.objects.create(user_data=user_data_object)
consumption_time_point_object.save()
self.assertIsNotNone(consumption_time_point_object.user_data)
self.assertEquals(1, len(user_data_object.consumption_time_point_set.all()))
我得到以下错误:
AttributeError: 'UserData' object has no attribute 'consumption_time_point_set'
但据我所知,这才是正确的方法。我是不是给什么东西起错名字了?或者这是一个测试问题?你知道吗
为了获得相关的查询集,类名是小写的,并附加
_set
。试试consumptiontimepoint_set
还可以使用^{} 参数手动设置反向关系名称。你知道吗
相关问题 更多 >
编程相关推荐