0
イメージ内のユーザーにタグを付けて保存したい場合、イメージ内に複数のユーザーをタグ付けできるため、ネストされたシリアライザを使用しました。 問題は、画像がタグなしで保存されていることです(タグなし)。ここ はコードです: models.pyDjangoネストされたシリアライザが期待どおりに保存されない
class TagUsername(models.Model):
# the tag is person
tag = models.ManyToManyField(User, related_name='tag_username')
image = models.ForeignKey(Image)
# # De tection Rectangle specs(width,height, coordinate x & coordinate y)
# width = models.FloatField()
# length = models.FloatField()
# xCoordinate = models.FloatField()
# yCoordinate = models.FloatField()
# who added this tag
user = models.ForeignKey(User, on_delete=models.CASCADE)
serializers.py
class TagUsernameSerializer(serializers.ModelSerializer):
tag = UsernameTagSerializer(read_only=True, many=True)
user = serializers.SlugRelatedField(queryset=User.objects.all(), slug_field="username")
image = serializers.CharField(source='image_id')
class Meta:
model = TagUsername
fields = ('tag', 'user', 'image')
UsernameTagSerializer:
class UsernameTagSerializer(serializers.ModelSerializer):
# username = serializers.SlugRelatedField(queryset=User.objects.all(), slug_field="username")
class Meta:
model = User
# fields I want only
fields = ('username',)
いただきました!間違って任意のアイデア!
問題はtagがvalidated_dataにありません!ユーザーと画像のみが検索されます。 – Engineer
@Engineerはタグソースを 'tag'または' tag_set'として設定しようとします: 'tag = UsernameTagSerializer(source = 'tag'、read_only = True、many = True)' – neverwalkaloner