Djangoの新機能です。クラスベースのビューを使用するとこれが可能かどうかはわかりませんが、返されたJSONの値に基づいて検索結果をグループ化したいクエリ。基本的に私は私の結果はこれから行きたい:これに値に基づくグループ化シリアライザ結果
{
"id": "0038",
"attributes": [
{
"name": "State",
"values": "CA"
},
{
"name": "Areas",
"values": "Value 1"
},
{
"name": "Areas",
"values": "Value 2"
},
{
"name": "Areas",
"values": "Value 3"
}]}
:
{"id": "0038",
"attributes": [
{
"name": "State Licenses",
"values": "CA"
},
{
"name": "Areas",
"values": ["Value 1", "Value 2", "Value 3"]
}]}
各「名前/値」のペアは、MySQLデータベース内の個別の行です。私はそれを行うことができますどのように
class AttributeSerializer(serializers.ModelSerializer):
name = serializers.CharField(source='name')
values = serializers.CharField(source='value')
class Meta:
model = models.Attribute
fields= ('name','values')
任意のアイデア:シリアライザがどのように見えるものの
class Attribute(models.Model):
id = models.AutoField(primary_key=True)
name = models.CharField(max_length=45, blank=False)
value = models.CharField(max_length=255, blank=False)
:私のmodels.pyは次のようになりますか? ListSerializerはおそらく候補者かもしれないと思われます。延長によってもmany=True
が追加されますが、私が望むグループ化の動作を提供するとは思われません。何か案は?
ハッシュテーブルには重複するキーが存在しないため、提案は機能しません。これはあなたのケースでは「値」です。 –
グループ化が必要な場合、デフォルトのシリアライザでは、カスタマイズ結果を必要とするため単純に行うことができない場合があります。独自のシリアライザを書くことができます。 –
私が探していたJSONを明確にするために編集しました。 –