Merge pull request #266 from mouse-reeve/book-lookup

lookup books when resolving activity json
This commit is contained in:
Mouse Reeve 2020-10-31 13:08:15 -07:00 committed by GitHub
commit 418971e9f8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 0 deletions

View File

@ -2,6 +2,8 @@
from dataclasses import dataclass, fields, MISSING from dataclasses import dataclass, fields, MISSING
from json import JSONEncoder from json import JSONEncoder
from bookwyrm import books_manager, models
from django.db.models.fields.related_descriptors \ from django.db.models.fields.related_descriptors \
import ForwardManyToOneDescriptor import ForwardManyToOneDescriptor
@ -102,6 +104,9 @@ class ActivityObject:
def resolve_foreign_key(model, remote_id): def resolve_foreign_key(model, remote_id):
''' look up the remote_id on an activity json field ''' ''' look up the remote_id on an activity json field '''
if model in [models.Edition, models.Work]:
return books_manager.get_or_create_book(remote_id)
result = model.objects result = model.objects
if hasattr(model.objects, 'select_subclasses'): if hasattr(model.objects, 'select_subclasses'):
result = result.select_subclasses() result = result.select_subclasses()