Django REST फ्रेमवर्क (DRF): TypeError: register () को एक अप्रत्याशित कीवर्ड तर्क 'base_name' मिला


12

मैंने djangorestframework==3.11.0पुराने संस्करण से अपडेट किया है। अब मुझे यह त्रुटि मिली है,

TypeError: रजिस्टर () को एक अप्रत्याशित कीवर्ड तर्क 'base_name' मिला

Traceback
  ...
  ...
  ...
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/abu/projects/django-example/django2x/urls.py", line 21, in <module>
    path('sample/', include('sample.urls')),
  File "/home/abu/.virtualenvs/django-example/lib/python3.6/site-packages/django/urls/conf.py", line 34, in include
    urlconf_module = import_module(urlconf_module)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/home/abu/projects/django-example/sample/urls.py", line 6, in <module>
    router.register(r'musician', MusicianViewset, base_name='musician')
TypeError: register() got an unexpected keyword argument 'base_name'

जवाबों:


25

Django RestFramework और DRF 3.9घोषणा के रिलीज नोट्स से उन्होंने उल्लेख किया है कि

के Router.register base_nameपक्ष में तर्क प्रस्तुत करना basename# 5990


जिसका अर्थ है, तर्क base_nameअब DRF=3.11आगे और उपयोग से उपलब्ध नहीं हैbasename इसके बजाय

इसलिए, अपने राउटर कॉन्फ़िगरेशन को इस रूप में बदलें,

router.register(r'musician', MusicianViewset, basename='musician')
router.register(r'album', AlbumViewset, basename='album')
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.