繁体   English   中英

Django 1.11一对多关系无相关集

[英]Django 1.11 One-to-Many relationship no related set

所以我有两个模型:

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

您还可以使用related_name参数手动设置反向关系名称。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM