我有一个模型,其中包含所有其他混合表的架构(这意味着一些关系字段和JSON字段内的某些字段)
例如。
class DynamicSchema(models.Model):
# Fields
model_name = models.CharField(max_length=255,unique=True)
slug = extension_fields.AutoSlugField(populate_from='model_name', blank=True)
created = models.DateTimeField(auto_now_add=True, editable=False)
last_updated = models.DateTimeField(auto_now=True, editable=False)
schema_data = JSONField(default=list)
class Meta:
ordering = ('-created',)
def __unicode__(self):
return u'%s' % self.slug
def get_absolute_url(self):
return reverse('api_dynamicschema_detail', args=(self.slug,))
def get_update_url(self):
return reverse('api_dynamicschema_update', args=(self.slug,))
所有其他模型,例如一些固定字段和一个json字段:
class Customer(models.Model):
# Fields
name = models.CharField(max_length=255,unique=True)
slug = extension_fields.AutoSlugField(populate_from='name', blank=True)
created = models.DateTimeField(auto_now_add=True, editable=False)
last_updated = models.DateTimeField(auto_now=True, editable=False)
details = JSONField(default=dict)
class Meta:
ordering = ('-created',)
def __unicode__(self):
return u'%s' % self.slug
def get_absolute_url(self):
return reverse('api_customer_detail', args=(self.slug,))
def get_update_url(self):
return reverse('api_customer_update', args=(self.slug,))
在客户模型中,我有一个字段详细信息,它是JSON类型。在json字段中,架构将在DynamicSchema表中定义
如何使用DynamicSchema中的动态字段定义序列化程序以制作API
例如:
在动态模式表中:
model_name= 'Customer'
schema_data={first_name:'text',second_name:'text',age:'number'}
.....
现在,我的客户API应该为以下所有字段提供所有字段,包括搜索排序过滤器..etc等所有操作。是否可以根据动态模式表创建动态序列化器?
name
slug
created
last_updated
first_name
second_name
age