2013-03-14 115 views
2

Django-REST框架中Serializer類中的pk字段是什麼?Django REST框架序列化器pk字段?

我假設它是主鍵,但名稱'pk'是一個保留的術語? Serializer類如何知道這是Snippet模型的主鍵?

我在Snippet模型中沒有看到名爲'pk'的字段。

class SnippetSerializer(serializers.Serializer): 
    pk = serializers.Field() # Note: `Field` is an untyped read-only field. 
    title = serializers.CharField(required=False, 
            max_length=100) 
    code = serializers.CharField(widget=widgets.Textarea, 
           max_length=100000) 
    linenos = serializers.BooleanField(required=False) 
    language = serializers.ChoiceField(choices=LANGUAGE_CHOICES, 
             default='python') 
    style = serializers.ChoiceField(choices=STYLE_CHOICES, 
            default='friendly') 

....類SnippetSeralizer繼續

class Snippet(models.Model): 
    created = models.DateTimeField(auto_now_add=True) 
    title = models.CharField(max_length=100, blank=True, default='') 
    code = models.TextField() 
    linenos = models.BooleanField(default=False) 
    language = models.CharField(choices=LANGUAGE_CHOICES, 
           default='python', 
           max_length=100) 
    style = models.CharField(choices=STYLE_CHOICES, 
          default='friendly', 
          max_length=100) 

    class Meta: 
     ordering = ('created',) 

回答

9

pk是在基Model類住在django.db.models一個屬性:它是用來識別該主鍵

class Model(object): 
    ... 
    pk = property(_get_pk_val, _set_pk_val) 
    ... 

爲模型。我沒有使用Django-REST,但他們可能只是將它映射到模型上的字段。

+0

非常感謝您的快速回復。 – user798719 2013-03-14 20:24:16

+0

不客氣。 – Brandon 2013-03-14 20:26:40

+0

太糟糕了,它不只是被稱爲primary_key或PrimaryKey或清楚的東西。猜測是什麼會容易得多。 – uchuugaka 2016-02-15 03:05:48

相關問題