/ / django autoupdate उपयोगकर्ता; सेव () को एक अप्रत्याशित कीवर्ड तर्क 'force_insert' मिला - django, django-admin, स्वतः अपडेट

django autoupdate उपयोगकर्ता; सेव () को एक अप्रत्याशित कीवर्ड तर्क 'force_insert' मिला - django, django-admin, स्वतः अपडेट

मैं उस उपयोगकर्ता के लिए एक ऑटो अपडेट लागू करने की कोशिश कर रहा हूं जो रिकॉर्ड का उपयोग करता है ModelAdmin save_model के रूप में वर्णित यहाँ। मैं kwarg त्रुटि के आसपास कैसे प्राप्त करने में सक्षम नहीं था "सहेजें () को एक अप्रत्याशित कीवर्ड तर्क" force_insert "मिला"।

admin.py
from myapp.myproj.models import Activity
from django.contrib import admin

class ActivityAdmin(admin.ModelAdmin):
exclude = ("cruser",)
list_display = ("activity_nm", "activity_desc", "startdt", "enddt","upddt","crdt")

def save_model(self, request, obj, form, change):
if not change:
obj.cruser = request.user
obj.save()

admin.site.register(Activity, ActivityAdmin)

The प्रलेखन कहा गया है कि

"save_model विधि HttpRequest, एक मॉडल आवृत्ति, एक ModelForm आवृत्ति और एक बूलियन मान पर आधारित है कि यह जोड़ने या ऑब्जेक्ट परिवर्तित कर रहा है दिया जाता है."

यह कुछ स्वत: है या मैं इसे देखने से पारित करने की आवश्यकता है?अगर वह "मुद्दा नहीं है, तो और क्या हो सकता है?

संपादित करें: बदल कोड वापस उदाहरण मैच के लिए ।

उत्तर:

जवाब के लिए 2 9। 1

अद्यतन करें

यदि आप ओवरराइड किया गया है save() उसकि विधि Activity या कुछ अंय मॉडल है कि इस बीच में बच जाते हैं, लेकिन स्वीकार करने के लिए भूल force_insert कीवर्ड तर्क के रूप में, यह त्रुटि हो सकती है:

def save(self):
...
# should be
def save(self, force_insert=False, force_update=False, using=None):
...
# or at least
def save(self, **kwargs):
...

जांच करने के लिए trackback का पता लगाने में विफल save


अपने कोड पूरी तरह से b-list.org से कोड का पालन नहीं है, का प्रयास करें:

def save_model(self, request, obj, form, change):
if not change:
obj.cruser = request.user
obj.save()