1
为ForeignKey
的命名约定与连接model
的小写版本命名,下面是从文档采取:蟒蛇Django的名字convetions
class Car(models.Model):
manufacturer = models.ForeignKey(Manufacturer)
# ...
class Manufacturer(models.Model):
# ...
pass
,但我有以下型号:
class Work(models.model):
class = models.ForeignKey(Class)
#...
class Class(models.model):
#...
pass
正如我们所知,这会引发错误,因为我们无法将变量设置为class
,因为它已内置到python中。
问:
不会遵循命名约定实际上是在SQL数据库创建一个问题吗?
例如:
class Work(models.model):
cls = models.ForeignKey(Class)
#...
class Class(models.model):
#...
pass
将具有不同ForeignKey的名字搞乱了SQL表和数据库的建立?
'cls'也是一种常见的收缩 – alko
好的,这是真的,请看我在编辑部分的问题,并请回答。我只是很好奇 –
出于同样的原因,我会将类名从'Class'更改为其他名称。但是,'foo = models.ForeignKey(bar)'一般来说没问题(尽管可能比必要的更混乱)。 – thumbtackthief