2017-01-10 4 views
0

私はForeign Keyフィールドがオプションであると設定しようとしています。Django RESTフレームワーク:オプションとしてFKを設定するにはどうすればよいですか?

models.pyファイルの "group"フィールドに "null = True、blank = True"を既に追加していますが、これも必要です。ここで

は私のmodels.pyコードです:ここで

class Record(Timestampable): 
    uuid = CharField(max_length=256, primary_key=True, editable=False) 
    code = CharField(max_length=32, blank=True) 
    name = CharField(max_length=256, blank=True) 
    group = ForeignKey('self', null=True, blank=True, related_name='members') 

は私serializers.pyコードです:デフォルトで

class RecordSerializer(ModelSerializer): 
    class Meta: 
    model = Record 
    fields = ('uuid', 'code', 'name', 'group') 
+0

(=を排除するためにメタクラスのプロパティを除外)とフィールドを削除設定してみてください。 –

+0

ご回答ありがとうございますが、それは私のためにはうまくいかなかった。メタクラスのexcludeプロパティが 'group'フィールドを削除しましたが、オプションのフィールドとして使用します(必須ではありません)。 –

答えて

2

、あなたはまだ値がnullの場合でも、フィールドを指定する必要がありますあなたのDRFでのリクエストで

ただしとして必要ではないフィールドを指定することができます。

class RecordSerializer(ModelSerializer): 
    group = serializers.CharField(required=False) 
    class Meta: 
     model = Record 
     fields = ('uuid', 'code', 'name', 'group') 

関連文書がここにあります:Django Rest Framework - Serializer fields

関連する問題