表:
class GermCategory(models.Model):
"""微生物类别"""
class Meta:
db_table = u'germ_category'
# verbose_name = '微生物-类别'
# verbose_name_plural = verbose_name
value = models.CharField(verbose_name="微生物类别名", max_length=225)
class GermClassify(models.Model):
class Meta:
db_table = u'germ_classify'
# verbose_name = '微生物-分类'
# verbose_name.plural = verbose_name
classify = models.CharField(verbose_name="微生物分类名", max_length=255)
class GermInfo(models.Model):
class Meta:
db_table = u'germ_info'
# verbose_name = '微生物-信息'
# verbose_name.plural = verbose_name
title = models.CharField(verbose_name="标题", max_length=255)
category_id = models.ForeignKey(verbose_name="类别ID", db_column='category_id', to="GermCategory", to_field="id",
on_delete=models.PROTECT, blank=True, null=True)
classify_id = models.ForeignKey(verbose_name="分类id", db_column='classify', to="GermClassify", to_field="id",
on_delete=models.PROTECT, blank=True, null=True)
detail = models.CharField(verbose_name="详情", max_length=255, blank=True, null=True)
germ_image = models.CharField(verbose_name="图片", max_length=2550, blank=True, null=True)
datetime = models.DateTimeField(verbose_name="日期", default=timezone.now)
视图函数:
@csrf_exempt
def germ_add(request):
"""添加"""
germ_data = json.loads(request.body)
if not germ_data:
return HttpResponseForbidden("数据丢失,请稍后重试!")
title = germ_data.get("title")
category_id = germ_data.get("category_id")
classify_id = germ_data.get("classify_id")
detail = germ_data.get("detail")
germ_image = germ_data.get("germ_image")
# 如果没有关联表的写法
# data = models.GermInfo.objects.create(title=title, category_id=category_id,
# classify_id=classify_id, detail=detail, germ_image=germ_image)
data = models.GermInfo()
data.title = title
# 要实例化 然后再赋值给对应关联的字段
data.category_id = models.GermCategory.objects.filter(id=category_id).first()
data.classify_id = models.GermClassify.objects.filter(id=classify_id).first()
data.detail = detail
data.germ_image = germ_image
data.save()
return HttpResponse("嗯嗯")