一个restframework快速实例

首先在settings.py中引入
INSTALLED_APPS = [
......
'rest_framework',
......
]
相关模型结构如下:
class custume(models.Model):

'''服装护具类'''

interno = models.CharField(max_length=50, verbose_name='内部商品编号', help_text='可以是数字或字母组合')

name = models.CharField(max_length=32, verbose_name='品名')

sort = models.ForeignKey(bm.custume_sort, verbose_name='衣着分类',on_delete=models.CASCADE,default=1)

supplier = models.ForeignKey(bm.supplier, verbose_name='供应商', on_delete=models.CASCADE, default=1)

brief = models.TextField(max_length=255,verbose_name='商品简述')

perunit = models.ForeignKey(bm.perunit,on_delete=models.CASCADE,verbose_name='计价单位',default=1)

reference_price = models.SmallIntegerField(verbose_name='参考价', help_text='随着价格变动,可能略有涨幅,以大佬定价为主',default=0)


class Meta:

db_table = 'custume'

def __str__(self):

return self.name



class supplier(models.Model):
'''供货商 '''
name = models.CharField(verbose_name='供货商名称', max_length=32)

contact = models.CharField(verbose_name='联系人', max_length=32)

sex = models.ForeignKey(gender,verbose_name='性别',on_delete=models.CASCADE,default=1)

def __str__(self):

return self.name

class Meta:

db_table = 'supplier'

在模块内新建site-package:

serializer.py中定义相关模型serializer

class soxserializer(serializers.Serializer):

name = serializers.CharField()

interno = serializers.CharField()

supplier = serializers.CharField(source = "supplier.name")#外键字段
在views.py中定义相关表的接口类

class soxer(ModelViewSet):

queryset = sm.custume.objects.all()

serializer_class = soxserializer
在urls.py中定义相关表的url类

引入相关支持模块
from django.conf.urls import url, include
from rest_framework import routers

from shoppingcenter import views as sv
router = routers.DefaultRouter()
router.register(r'saiwa',sv.soxer)
urlpatterns = [
......
url(r'^',include(router.urls)),
  ......
]