簡體   English   中英

在 Django 中創建一個 model ,其字段中包含多個其他字段

[英]Creating a model in Django whose field has multiple other fields inside it

我對 Django 很陌生,想澄清一個菜鳥疑問。 假設我對 django 中的 model Scans有一個發布請求。

同樣的 json 數據看起來像

[{“id”:1,“結果”:{“低”:3,“中”:6,“高”:7},“機器”:“Windows”,“報告”:“是”]

model 應該是什么樣子? 我不知道應該給results什么字段類型。

試試JSONField 你的 model 應該是這樣的。

from django.contrib.postgres.fields import JSONField
from django.db import models

class Scans(models.Model):
    machine = models.CharField(...)
    results = JSONField(default=dict)

PS你需要配置你的數據庫(在這種情況下是PostgreSQL)

PSS 如果你不想使用 PostgreSQL 這里是 MySQL 的JSONFIeld

您還可以創建兩個模型ScansResults並在它們之間創建如下關系

class Scans(models.Model):
    machine = models.CharField(max_length = 100)
    # assuming that report is by default false
    report = models.BooleanField(default = False)
    results = models.ForeignKey(Results, on_delete = models.CASCADE) 


class Results(models.Model):
    low = models.IntegerField()
    medium = models.IntegerField()
    high = models.IntegerField()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM