File tree 2 files changed +19
-5
lines changed
2 files changed +19
-5
lines changed Original file line number Diff line number Diff line change 1
1
default_language_version :
2
- python : python3.11
2
+ python : python3.10
3
3
repos :
4
4
- repo : https://github.com/pre-commit/pre-commit-hooks
5
5
rev : v4.4.0
Original file line number Diff line number Diff line change 1
1
from collections import OrderedDict
2
2
from functools import singledispatch , wraps
3
3
from asyncio import get_running_loop
4
+ from asgiref .sync import sync_to_async
4
5
5
6
from django .db import models
6
7
from django .utils .encoding import force_str
@@ -265,17 +266,17 @@ def dynamic_type():
265
266
_type = registry .get_type_for_model (model )
266
267
if not _type :
267
268
return
268
-
269
+
269
270
class CustomField (Field ):
270
271
def wrap_resolve (self , parent_resolver ):
271
272
resolver = super ().wrap_resolve (parent_resolver )
272
273
273
- try :
274
+ try :
274
275
get_running_loop ()
275
276
except RuntimeError :
276
277
pass
277
278
else :
278
- resolver = sync_to_async (resolver )
279
+ resolver = sync_to_async (resolver )
279
280
280
281
return resolver
281
282
@@ -334,7 +335,20 @@ def dynamic_type():
334
335
if not _type :
335
336
return
336
337
337
- return Field (
338
+ class CustomField (Field ):
339
+ def wrap_resolve (self , parent_resolver ):
340
+ resolver = super ().wrap_resolve (parent_resolver )
341
+
342
+ try :
343
+ get_running_loop ()
344
+ except RuntimeError :
345
+ pass
346
+ else :
347
+ resolver = sync_to_async (resolver )
348
+
349
+ return resolver
350
+
351
+ return CustomField (
338
352
_type ,
339
353
description = get_django_field_description (field ),
340
354
required = not field .null ,
You can’t perform that action at this time.
0 commit comments