Wpis z mikrobloga

#django #djangorestframework #drf #programowanie #python

mam coś takiego: zwykły model User z django.contrib.auth i model Profile, który ma usera jako ForeignKey
class Profile(models.Model):
    user = models.ForeignKey(User, related_name='profile')
    # ofc jakieś inne pola tutaj

mam też model Activity, który ma ForeignKey(User), ale nie ma pola Profile i teraz próbuję zrobić zagnieżdżony serializer:

class ActivitySerializer(ModelSerializer):
    user = UserSerializer()
    profile = ProfileSerializer() # tutaj jest mój problem, chciałbym na podstawie Usera pobrać Profile

    class Meta:
        model = Activity
        fields = ('id', 'user', 'profile')

Chciałbym się jakoś dostać do profilu w tym serializerze i nie mam pojęcia, jak to zrobić. Czy ktoś z was wie?
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@pansa: hm, no nie bardzo, bo DRF próbuje używać modelu podanego w Meta
'Activity' object has no attribute 'user__profile'.
  • Odpowiedz
jest jakies serializers.SerializerMethodField()


@Tank1991: udało się bardzo pokrętną metodą xD

class ActivitySerializer:
    profile
  • Odpowiedz