mirror of
https://github.com/pinry/pinry.git
synced 2025-11-13 08:35:41 +01:00
Feature: Allow auto-creation for tags for pin / fix admin format
This commit is contained in:
@@ -6,5 +6,5 @@ from .models import Pin
|
|||||||
class PinAdmin(admin.ModelAdmin):
|
class PinAdmin(admin.ModelAdmin):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
admin.site.register(Pin, PinAdmin)
|
|
||||||
|
|
||||||
|
admin.site.register(Pin, PinAdmin)
|
||||||
|
|||||||
@@ -57,11 +57,26 @@ class ImageSerializer(serializers.ModelSerializer):
|
|||||||
return image
|
return image
|
||||||
|
|
||||||
|
|
||||||
class TagSerializer(serializers.ModelSerializer):
|
class TagSerializer(serializers.SlugRelatedField):
|
||||||
class Meta:
|
class Meta:
|
||||||
model = Tag
|
model = Tag
|
||||||
fields = ("name",)
|
fields = ("name",)
|
||||||
|
|
||||||
|
queryset = Tag.objects.all()
|
||||||
|
|
||||||
|
def __init__(self, **kwargs):
|
||||||
|
super(TagSerializer, self).__init__(
|
||||||
|
slug_field="name",
|
||||||
|
**kwargs
|
||||||
|
)
|
||||||
|
|
||||||
|
def to_internal_value(self, data):
|
||||||
|
obj, _ = self.get_queryset().get_or_create(
|
||||||
|
**{self.slug_field: data},
|
||||||
|
defaults={self.slug_field: data, "slug": data}
|
||||||
|
)
|
||||||
|
return obj
|
||||||
|
|
||||||
|
|
||||||
class PinSerializer(serializers.HyperlinkedModelSerializer):
|
class PinSerializer(serializers.HyperlinkedModelSerializer):
|
||||||
class Meta:
|
class Meta:
|
||||||
@@ -82,11 +97,9 @@ class PinSerializer(serializers.HyperlinkedModelSerializer):
|
|||||||
"submitter": {"read_only": True},
|
"submitter": {"read_only": True},
|
||||||
}
|
}
|
||||||
|
|
||||||
tags = serializers.SlugRelatedField(
|
tags = TagSerializer(
|
||||||
many=True,
|
many=True,
|
||||||
source="tag_list",
|
source="tag_list",
|
||||||
queryset=Tag.objects.all(),
|
|
||||||
slug_field="name",
|
|
||||||
)
|
)
|
||||||
image = ImageSerializer(required=False, read_only=True)
|
image = ImageSerializer(required=False, read_only=True)
|
||||||
image_by_id = serializers.PrimaryKeyRelatedField(
|
image_by_id = serializers.PrimaryKeyRelatedField(
|
||||||
|
|||||||
Reference in New Issue
Block a user