Как обращаться к объектам через ForeignKey django
models.py
class Profile(models.Model):
user_id = models.IntegerField(blank=False, null=False)
rating = models.IntegerField(default=800, blank=True)
class RatingChanges(models.Model):
profile = models.ForeignKey(Profile, on_delete=models.CASCADE, blank=True, null=True)
views.py
profile = Profile.objects.filter(user_id=user_id).first()
for i in profile.rating_changes_set.all():
У меня выдается ошибка AttributeError: 'Profile' object has no attribute 'rating_changes_set', как правильно обратиться ко всем объектам rating_changes у конкретного profile?
При подобном использовании, чтобы вам получить список объектом нужно сделать так profile.ratingchanges_set.all()
, так как ratingchanges_set формируется из "названиемодели_set", если хотите по-другому можете для profile = ... задать related_name
profile = models.ForeignKey(Profile,related_name = 'my_name', on_delete=models.CASCADE, blank=True, null=True)
т.е для примера выше, можно будет получить список объектов по связи - profile.my_name.all()