我正在用sqlite数据库制作我的第一个django应用程序。我有一些模型,例如:
class Connection(models.Model):
routeID = models.ForeignKey(Route, on_delete=models.CASCADE)
activityStatus = models.BooleanField()
car = models.ForeignKey(Car, on_delete=models.CASCADE)
class Route(models.Model):
name = models.CharField(max_length=20)
和形式
class RouteForm(ModelForm):
class Meta:
model = Route
fields = ['name']
class ConnectionForm(ModelForm):
class Meta:
model = Connection
fields = ['routeID', 'activityStatus', 'car']
在我的网站中,在添加新连接的url中,我有一个包含路由ID的级联列表。我希望它包含RouteName,而不是ID,这样更容易选择。我应该如何更改我的ConnectionForm,这样我仍然可以使用外键路由表,但可以看到RouteName而不是RouteID
For now it's looking like this,但我希望有一个routeName列表,同时还要向连接表中添加好的外键RouteID
更新路由模型的
__str__
方法:因为每当调用对象上的str()时,
__str__()
方法都会被调用。Django在许多地方使用str(obj),比如在Modelform中。默认情况下,它返回id
或pk
,这就是您看到模型形式的id的原因。因此,通过用name
覆盖它,您将看到名称出现在选项字段中。请参阅documentation以了解有关此的更多详细信息相关问题 更多 >
编程相关推荐