mirror of
https://github.com/bookwyrm-social/bookwyrm.git
synced 2024-12-14 20:26:32 +00:00
Adds book format field with choices
This commit is contained in:
parent
9933b888f9
commit
6b3447761f
2 changed files with 46 additions and 1 deletions
|
@ -0,0 +1,35 @@
|
||||||
|
# Generated by Django 3.2 on 2021-05-21 00:17
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
import bookwyrm
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
("bookwyrm", "0075_announcement"),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.RenameField(
|
||||||
|
model_name="edition",
|
||||||
|
old_name="physical_format",
|
||||||
|
new_name="physical_format_detail",
|
||||||
|
),
|
||||||
|
migrations.AddField(
|
||||||
|
model_name="edition",
|
||||||
|
name="physical_format",
|
||||||
|
field=bookwyrm.models.fields.CharField(
|
||||||
|
blank=True,
|
||||||
|
choices=[
|
||||||
|
("AudiobookFormat", "Audiobookformat"),
|
||||||
|
("EBook", "Ebook"),
|
||||||
|
("GraphicNovel", "Graphicnovel"),
|
||||||
|
("Hardcover", "Hardcover"),
|
||||||
|
("Paperback", "Paperback"),
|
||||||
|
],
|
||||||
|
max_length=255,
|
||||||
|
null=True,
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
|
@ -169,6 +169,13 @@ class Work(OrderedCollectionPageMixin, Book):
|
||||||
deserialize_reverse_fields = [("editions", "editions")]
|
deserialize_reverse_fields = [("editions", "editions")]
|
||||||
|
|
||||||
|
|
||||||
|
# https://schema.org/BookFormatType
|
||||||
|
FormatChoices = models.TextChoices(
|
||||||
|
"FormatChoices",
|
||||||
|
"AudiobookFormat EBook GraphicNovel Hardcover Paperback",
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
class Edition(Book):
|
class Edition(Book):
|
||||||
"""an edition of a book"""
|
"""an edition of a book"""
|
||||||
|
|
||||||
|
@ -186,7 +193,10 @@ class Edition(Book):
|
||||||
max_length=255, blank=True, null=True, deduplication_field=True
|
max_length=255, blank=True, null=True, deduplication_field=True
|
||||||
)
|
)
|
||||||
pages = fields.IntegerField(blank=True, null=True)
|
pages = fields.IntegerField(blank=True, null=True)
|
||||||
physical_format = fields.CharField(max_length=255, blank=True, null=True)
|
physical_format = fields.CharField(
|
||||||
|
max_length=255, choices=FormatChoices.choices, null=True, blank=True
|
||||||
|
)
|
||||||
|
physical_format_detail = fields.CharField(max_length=255, blank=True, null=True)
|
||||||
publishers = fields.ArrayField(
|
publishers = fields.ArrayField(
|
||||||
models.CharField(max_length=255), blank=True, default=list
|
models.CharField(max_length=255), blank=True, default=list
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in a new issue