例:
class Route(models.Model):
last_waypoint_visited = models.ForeignKey('WayPoint')
class WayPoint(models.Model):
route = models.ForeignKey(Route)
Run Code Online (Sandbox Code Playgroud)
由于WayPoint已经通过路径字段引用了Route,因此我不需要字段last_waypoint_visited来生成Route的后向引用.
是否可以禁用"last_waypoint_visited"字段的后向引用创建?
当我做这样的事情时:
model_list = [Model(name = 'First'), Model(name = 'Second'), Model(name = 'Third')]
Model.objects.bulk_create(model_list)
Run Code Online (Sandbox Code Playgroud)
我可以相信它们会按照相同的顺序创建吗?
那是:
pk1 = Model.objects.get(name = 'First').pk
pk2 = Model.objects.get(name = 'Second').pk
pk3 = Model.objects.get(name = 'Third').pk
(pk3 > pk2) and (pk2 > pk1)
Run Code Online (Sandbox Code Playgroud) 假设以下代码:
from typing import Union
def invert(value: Union[str, int]) -> Union[int, str]:
if isinstance(value, str):
return int(value)
elif isinstance(value, int):
return str(value)
else:
raise ValueError("value must be 'int' or 'str'")
Run Code Online (Sandbox Code Playgroud)
很容易看出,str输入导致int输出,反之亦然。有没有办法指定返回类型,以便对这种反向关系进行编码?