Pasek ma ForeignKey do Foo, wiele Bar do jednego Foo. Korzystanie z formularzy w Django, foreign key defaults to a select list input.drop down wybór klucza obcego w Django Rest Framework
Chciałbym tej funkcji w Django Rest Framework, najpierw dla Browsable API, a następnie dla Renderer HTML szablonu. Mam ponad nested relations in the docs i widziałem także this related question, ale to nie ma sensu. Przynajmniej to sprawia, że myślę, że powinienem obserwować rozwijane zachowanie, podobnie jak akcje Django Forms.
ostatecznie Chcę sposób pozwoli nam wybrać istniejący Foo przy tworzeniu/aktualizacji Bar Wierzę, że mogę to zrobić z TemplateHTMLRenderer ręcznie crafting formularz, który zmienia pól formularza do pełnych danych JSON, czyli nowy bar to wskazuje na istniejące Foo, zakładając, że piszę aktualizację i tworzę metody na pasku. Ale to brzmi dla mnie tak, jakbym gdzieś tęsknił za "łatwą drogą".
class BarSerializer(serializers.ModelSerializer):
# This shows Foo.foo within serialzied Bar JSON:
# I suspect I am missing something with the relation that would allow me to select foo from a list
foo = serializers.SlugRelatedField(many=False, read_only=True,slug_field="foo")
class Meta:
model = Bar
fields = ('foo','some_value','another_value')
class FooSerializer(serializers.ModelSerializer):
owner = serializers.ReadOnlyField(source='owner.username')
# This shows the Bar serialized within the Foo JSON i.e. nested serialization
bars = BarSerializer(many=True);
# reverse rel: related_name='bars' in Foo model
class Meta:
model = Foo
# 'bars' is the related name pointing from bar to foo
fields = ('bars', 'foo', 'owner')
Rozumiem, że aby zapisać zagnieżdżone dane, mój serializer wymaga aktualizacji i utworzenia. Wdrażam to teraz. Ale nie mogę się skupić, co zrobić, aby DRF wypełnił wybrane wejście z pewną reprezentacją opcji Foo?
Brakuje mi czegoś oczywistego, tak? Oto RTFM (ponownie) downvotes:/