假设我有两个表:
表#1:空间
表#2:学生
如果我想更改表#1中的prom_name,我也想自动更新表#2中的prom_name。
我的学生模型是一个表格,学生可以在其中插入他们的姓名和prom_code(给定),如果prom_code不存在,则会拒绝注册
class Space(model.Models):
prom_name = models.CharField(max_length = 20)
prom_code = models.CharField(max_length = 20, Default=RANDOM, editable=FALSE)
def save(self):
try:
From my_other_app.models import Students
myobj = Students.object.get(prom_code = self.prom_code)
myobj.prom_name = self.prom_name
myobj.save()
except Students.DoesNotExist:
super(Space, self).save()
这只是我要执行的操作的一个简单示例,如果寄存器是新的,则原始示例已经过验证,因此
我只是无法从表中的每个prom_code = self.prom_code(我要更改的那个)中获取更改所有prom_name的方法
我需要使用for循环吗?
问候,
您的设计不符合第二范式。本Prom_name
应该只存在于表Space
,但没有Students
,因为存储冗余字段只会增加额外的磁盘空间,提高维护工作像你刚才所描述的。
您需要Prom_name
从Students
表中删除列并在需要使用Space
表获取名称时进行联接。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句