我可以自动创建 Django 模型吗?
Can I create Django models automatically?
我正在使用 Django 开发一个简历网站,其中,对于技能部分,我定义了一个模型,如下所示,
from django.db import models
class Skills(models.Model):
name = models.CharField(max_length=50)
level = models.DecimalField(max_digits=3, decimal_places=3)
def __str__(self):
return self.name
但是,例如,如果我在这个模型中通过管理员添加技能“Python”,我想为该技能添加几张幻灯片,每张幻灯片包含一个图像和一个段落,以提供详细信息关于我的技能的信息。
换句话说,我想为我将添加的每个技能创建一个 table,其中包含名为 image 和 description 的列。
有什么办法可以实现吗?
如果一个技能可以有多个 'slides',您需要使用外键 (ManyToOne) 为您的技能模型创建另一个模型。
例如:
class Skills(models.Model):
name = models.CharField(max_length=50)
level = models.DecimalField(max_digits=3, decimal_places=3)
def __str__(self):
return self.name
class SkillDetail(models.Model):
skill = models.ForeignKey(Skills, on_delete=models.CASCADE)
image = models.ImageField(upload_to='images/')
description = models.TextField()
我正在使用 Django 开发一个简历网站,其中,对于技能部分,我定义了一个模型,如下所示,
from django.db import models
class Skills(models.Model):
name = models.CharField(max_length=50)
level = models.DecimalField(max_digits=3, decimal_places=3)
def __str__(self):
return self.name
但是,例如,如果我在这个模型中通过管理员添加技能“Python”,我想为该技能添加几张幻灯片,每张幻灯片包含一个图像和一个段落,以提供详细信息关于我的技能的信息。
换句话说,我想为我将添加的每个技能创建一个 table,其中包含名为 image 和 description 的列。
有什么办法可以实现吗?
如果一个技能可以有多个 'slides',您需要使用外键 (ManyToOne) 为您的技能模型创建另一个模型。
例如:
class Skills(models.Model):
name = models.CharField(max_length=50)
level = models.DecimalField(max_digits=3, decimal_places=3)
def __str__(self):
return self.name
class SkillDetail(models.Model):
skill = models.ForeignKey(Skills, on_delete=models.CASCADE)
image = models.ImageField(upload_to='images/')
description = models.TextField()