gpt4 book ai didi

python - 无法使用_set查询外键相关对象| Django ?

转载 作者:行者123 更新时间:2023-12-04 07:40:13 25 4
gpt4 key购买 nike

无法访问外键相关对象,显示错误
我已经创建了 Hospital 和 Availablity 的实例,但是在使用 查询时H1.availablity_set.all()

 //error 
'Hospital' object has no attribute 'availablity_set'
模型.py
class Hospital(models.Model):
name = models.CharField(max_length = 256)
address = models.CharField(max_length=256,null=True, blank=True)
phone = models.CharField(max_length=10)
city = models.ForeignKey(City, on_delete=models.CASCADE, related_name = 'City')

def __str__(self):
return self.name

class Availablity(models.Model):
hospital = models.ForeignKey(Hospital, on_delete = models.CASCADE, related_name='availablities')
facility = models.ForeignKey(Facility, on_delete= models.CASCADE, related_name='facilities')
updated_at = models.DateTimeField(auto_now=True)
total = models.IntegerField(default=0)
available = models.IntegerField(default=0)
代码

最佳答案

为您 hospital领域Availablity (秒),您使用了 related_name='availablities' [Django-doc] ,这是反向关系的名称,因此您可以访问 Availability s 代表 Hospital :

my_hospital.availablities.all()
您的模型类和 related name s 有一些拼写错误。考虑重命名 AvailablityAvailability , related_name='availablities'related_name='availabilities' .此外,(通常)给出 related_name 没有多大意义。同名是 ForeignKey本身,因为这是您反向查询的方式。因此最好重命名 relaed_name到:
class Hospital(models.Model):
# …
city = models.ForeignKey(
City,
on_delete=models.CASCADE,
related_name='city_hospitals'
)

关于python - 无法使用_set查询外键相关对象| Django ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67520466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com