30 lines
1.1 KiB
Python
30 lines
1.1 KiB
Python
# 1. like in example above
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
["id", "name", "manufacturer__name"]
|
|
).all()
|
|
|
|
# 2. to mark a field as required use ellipsis
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
{"id": ..., "name": ..., "manufacturer": {"name": ...}}
|
|
).all()
|
|
|
|
# 3. to include whole nested model use ellipsis
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
{"id": ..., "name": ..., "manufacturer": ...}
|
|
).all()
|
|
|
|
# 4. to specify fields at last nesting level you can also use set - equivalent to 2. above
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
{"id": ..., "name": ..., "manufacturer": {"name"}}
|
|
).all()
|
|
|
|
# 5. of course set can have multiple fields
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
{"id": ..., "name": ..., "manufacturer": {"name", "founded"}}
|
|
).all()
|
|
|
|
# 6. you can include all nested fields but it will be equivalent of 3. above which is shorter
|
|
await Car.objects.select_related("manufacturer").fields(
|
|
{"id": ..., "name": ..., "manufacturer": {"id", "name", "founded"}}
|
|
).all()
|