When i'm trying to use update or create query it's gives error FieldError: Invalid field name(s) for model
Here it is my models.py
class Base(models.Model):
created = models.DateTimeField(auto_now_add=True)
modified = models.DateTimeField(auto_now=True)
created_by = models.ForeignKey(User)
class Meta:
abstract = True
class Graph(Base):
sensor = models.ForeignKey("Sensor")
name = models.CharField(max_length=50)
query = models.TextField()
javascript = models.TextField()
args = models.TextField()
server_details = models.ForeignKey("ServerDetails")
Now I want to update or create query of Graph
Here it is I'm trying to do
@is_login_valid
def save_graph(request):
params = json.loads(request.body)
ser_obj = ServerDetails.objects.get(id=params['server_details']['id'])
sensor = Sensor.objects.get(id=1)
rrs_obj, created = Graph.objects.update_or_create(
id=params.get('id'),
defaults={
"name": params.get('name'),
"query": params.get('query'),
"javascript": params.get('javascript'),
"args": params.get('args'),
"server_details": ser_obj,
"created_by": request.user,
"sensor": sensor
}
)
return JsonResponse({
"validation": "Graph saved successfully",
"status": True
})
When I'm trying to update_or_create its gives following error
Traceback (most recent call last): File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/core/handlers/exception.py", line 41, in inner response = get_response(request)
File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 187, in _get_response response = self.process_exception_by_middleware(e, request)
File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 185, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/nikhil/Projects/myProject/myProject/utils/decorators.py", line 46, in wrap return function(request, *args, **kwargs)
File "/home/nikhil/Projects/myProject/myProject/SensorMonitor/views.py", line 127, in save_graph "sensor": sensor
File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/db/models/manager.py", line 85, in manager_method return getattr(self.get_queryset(), name)(*args, **kwargs)
File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/db/models/query.py", line 476, in update_or_create lookup, params = self._extract_model_params(defaults, **kwargs)
File "/home/nikhil/general-env/local/lib/python2.7/site-packages/django/db/models/query.py", line 534, in _extract_model_params "', '".join(sorted(invalid_params)),
FieldError: Invalid field name(s) for model Graph: 'created_by', 'query', 'sensor', 'server_details'.