我有一个模型任务,我想创建另一个模型序列,它将包含有序的任务序列,例如sequence1 -> Task1、Task3、Task 7;sequence2 -> Task1、Task2、Task4、Task7等。
一个序列可以有多个任务,一个任务可以是多个序列。
如何创建这样一个模型以确保其保持有序序列?
发布于 2018-04-24 15:22:24
使用M2M字段关系创建模型。然后,您可以创建一个序列化程序。在序列化程序中,您有一些选项可以格式化来自M2M字段的数据:
即StringRelatedField
class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.StringRelatedField(many=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')这样做:
{
'album_name': 'Things We Lost In The Fire',
'artist': 'Low',
'tracks': [
'1: Sunflower',
'2: Whitetail',
'3: Dinosaur Act',
...
]
}或PrimartKeyRelatedField
class AlbumSerializer(serializers.ModelSerializer):
tracks = serializers.PrimaryKeyRelatedField(many=True, read_only=True)
class Meta:
model = Album
fields = ('album_name', 'artist', 'tracks')这样做:
{
'album_name': 'Undun',
'artist': 'The Roots',
'tracks': [
89,
90,
91,
...
]
}还有更多的选择。关于更多的阅读文档DRF。
PD:默认情况下,M2M字段中的数据是根据创建对象的方式排序的。
https://stackoverflow.com/questions/50003305
复制相似问题