如何在Django中使databasefields保持不变?

2024-07-05 14:45:01 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有CarsCarTypes,以及它们的BuildDates,如下所示:

class Car(db.models):
    licence_name = models.CharField(max_length=64)
    car_type = models.ForeignKey(Type)

class Type(db.models):
    name = models.CharField(max_length=64)
    build_during = models.ForeignKey(BuildDate)   

class BuildDate(db.models):
    begin = models.DateField(null=True)
    end = models.DateField(null=True)

    class Meta(object):
        unique_together = (('begin', 'end'),)

我想把BuildDates放在一个单独的表中,这样我就可以用Django外部工具进行更快的查询和其他工作。在

由于BuildDates是唯一的,但在CarTypes之间共享,我想确保这一点:如果其中一个CarTyped0发生了变化,其他的CarTypes不会受到影响,它们仍然共享相同的构建日期d0,但与现在拥有d1的{}t1不同。我认为有必要为此创建一个新的BuildDated1,为CarTypet1。有没有推荐或推荐的方法?在


Tags: namedbmodelstypenulllengthmaxclass
1条回答
网友
1楼 · 发布于 2024-07-05 14:45:01

使用“可编辑”属性。当您设置“False”时,元素将不会显示在管理员中,也就是说,您不能更改其值。在

例如

许可证名称=模型.CharField(最大长度=64,可编辑=False)

相关问题 更多 >