Как обращаться к объектам через 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()

Вернуться на верх