我已經被這個問題困擾了好幾天了。嘗試了不同的方法,但沒有成功。我有兩個類 - Poll 和 PollAnswer。他們來了:
class Poll(Model):
title = CharField(max_length=256)
class PollAnswer(Model):
user_id = CharField(max_length=10)
poll = ForeignKey(Poll, on_delete=CASCADE)
text = CharField(max_length=256)
獲取答案的投票串列的正確方法是什么,其中 used_id 等于帶有嵌套串列的用戶答案的??特定字串?像這樣:
{
'poll_id': 1,
'answers' : {
'user1_answer1: 'answer_text1',
'user1_answer2: 'answer_text2',
'user1_answer3: 'answer_text3',
},
}
如果這是一個簡單的問題,我可能需要一些關于 django orm 的好指南。
我嘗試的第一件事是制作序列化程式的方法(從 drf 的 ModelSerializer 繼承),但得到一個錯誤,該類不能有這樣的方法。之后,我嘗試將序列化程式的欄位與 ForeignKey 一起使用,但結果卻嵌套在答案中。現在我相信我可以制作 Polls.objects.raw('some_sql_query') 但這可能不是最好的方法。
uj5u.com熱心網友回復:
您的問題在檔案中進行了描述(也是最佳實踐)。您可以使用嵌套序列化程式:
https://www.django-rest-framework.org/api-guide/relations/#writable-nested-serializers
否則,如果您想按照您的描述保留嵌套答案:我將使用序列化程式方法欄位
https://www.django-rest-framework.org/api-guide/fields/#serializermethodfield
然后對你的答案做一點回圈......并回傳你想要的任何格式。
uj5u.com熱心網友回復:
如果你真的需要這樣做,你需要看看這個部分,基本上你需要使用 F 運算式來獲得你想要的輸出格式,但是我強烈建議你為此使用序列化程式,鏈接
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/340293.html
標籤:姜戈 Django 休息框架 django-orm
