ジョブday72

1.新しいプロジェクトジャンゴを作成し、車は、クラスを定義するname属性の文字列を持って、プロパティの色(0:シルバー、1:黒、2:レッド、3:グレー)を選択し、INT。、フル小数精度価格の種類、画像ファイルの画像をタイプ、ブランド文字列型

ModelSerializerクラスに基づいて2、完全な車単一のリソースの調査、調査グループ、テンジン・インタフェースの
シーケンス:ショー車名、車の色、車の価格は、車のポスター、車のブランドは
、デシリアライズ:あなたは、車の名前を提供する必要があります車の価格は、車のブランド(車は二次確認re_brandのニーズにマッチする)、シルバーカーのデフォルトの色(提供することが可能)、車のポスターを設ける必要がない(デフォルトでは空白)

 

model.py 
から django.dbのインポートモデル


クラスカー
    (models.Model):""」
    名前の文字列プロパティ、
    、色が選択される整数(シルバー、1:黒、2:赤、3灰色0)属性
    価格全精度の小数点以下のタイプ、
    イメージ画像ファイルの種類、
    ブランド文字列型
    "" " 
    COLOR_CHOICES = [(0、' ')、(1、' ブラック')、(2、' ')、(3、' グレー' )]
    名前 = models.CharField(max_lengthを= 64  = models.IntegerField(選択肢= COLOR_CHOICES、デフォルト= 0)
    価格 = models.DecimalField(max_digits = 10、decimal_places = 2 
    画像 = models.ImageField(upload_to = ' IMG '、デフォルト= ' IMG / default.png ' 
    ブランド = models.CharField(max_lengthを= 64 

    @property
    デフcar_color(自己):
         戻り self.get_color_display()

 

serializers.py

rest_frameworkの輸入シリアライザ
 からインポートモデル


クラスCarModelSerializer(serializers.ModelSerializer):
    re_brand = serializers.CharField(WRITE_ONLY = 真)

    クラスメタ:
        モデル = models.Car
        フィールド = [ ' 名前'' 価格'' '' car_color '' 画像'' ブランド'' re_brand ' ]
        extra_kwargs = {
             ' イメージ' {
                 ' READ_ONLY ' :真
            }、
            ' ' :{
                 ' WRITE_ONLY ' :真
            }
        }

    デフ検証(自己、attrsに):
        ブランド = attrs.get(' ブランド' 
        re_brand = attrs.pop(' re_brand ' であればブランド=!re_brand:
             昇給 serializers.ValidationError({ ' re_brand '' 品牌不一致' })
         戻り attrsに

 

総ルート

django.conf.urls インポート、URLが含まれる
 から django.contribの輸入管理者
 から django.views.static 輸入サーブ
 から django.conf インポート設定
urlpatterns = [
    URL(R ' ^管理/ ' 、admin.site.urls)、

    URL(R ' ^ API / '、(含める' api.urlsを' ))、


    URL(R ' ^メディア/(P <パス> *)?'、サーブ、{ ' DOCUMENT_ROOT ' :settings.MEDIA_ROOT})、
]

サブルーティング

django.conf.urls インポートURL

からインポートビュー

urlpatterns = [
     カスタムシリアライズ 
    URL(R&LT ' ^車/ $ ' 、views.CarAPIView.as_view())、
    URL(R ' ^車/(?P <PK> \ D +)/ $ ' 、views.CarAPIView.as_view())、

    URL(R ' ^公表する/ $ ' 、views.PublishAPIView.as_view())、
]

 

 

 

 

 

 

 

 

 

 

 

おすすめ

転載: www.cnblogs.com/fjn839199790/p/12104606.html