6

हाय Stackoverflow लोगों को,Django मॉडल वस्तु

मैं कक्षा आधारित विचारों के साथ और एक परीक्षण स्थल के लिए काम कर रहा हूँ वर्ग आधारित ध्यान में रखते हुए "कोई विशेषता '_meta' है", मैं कक्षा आधारित विचारों सेटअप करने के लिए documentation पीछा । एक प्रोजेक्ट साइट (नीचे प्रोजेक्ट मॉडल के आधार पर) के लिए, मैं बस नीचे दिए गए साधारण प्रोजेक्ट मॉडल के लिए एक त्वरित सीआरयूडी एप्लीकेशन बनाना चाहता हूं।

models.py

class Project(models.Manager): 
    name = models.CharField(_('Name of the Project'), max_length = 100,) 
    slug = models.SlugField(max_length=100,) 
    ... 

views.py

from django.views.generic.edit import CreateView, UpdateView, DeleteView 
from django.core.urlresolvers import reverse_lazy 
from project.models import Project 

class ProjectCreate(CreateView): 
    model = Project 

class ProjectUpdate(UpdateView): 
    model = Project 

जब मैं अब \project\add, जो ProjectCreate वर्ग बुलाना चाहिए लोड करते हैं, मैं निम्नलिखित त्रुटि मिलती है: प्रकार ऑब्जेक्ट 'प्रोजेक्ट' में कोई विशेषता नहीं है '_meta'

मुझे समझ में नहीं आता क्यों। मॉडल वर्ग को आम तौर पर मेटा जानकारी की आवश्यकता नहीं होती है। अन्य वर्ग आधारित परियोजनाओं में, मुझे इस समस्या का सामना नहीं हुआ।

आपके सुझावों के लिए धन्यवाद!

Traceback

Django Version: 1.4.1 
Python Version: 2.7.1 

Traceback: 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response 
    111.       response = callback(request, *callback_args, **callback_kwargs) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/base.py" in view 
    48.    return self.dispatch(request, *args, **kwargs) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/base.py" in dispatch 
    69.   return handler(request, *args, **kwargs) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get 
    168.   return super(BaseCreateView, self).get(request, *args, **kwargs) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get 
    130.   form_class = self.get_form_class() 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/views/generic/edit.py" in get_form_class 
    89.    return model_forms.modelform_factory(model) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in modelform_factory 
    407.  return form_metaclass(class_name, (form,), form_class_attrs) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in __new__ 
    206.          opts.exclude, opts.widgets, formfield_callback) 
File "/Users/neurix/Development/vir_project_2.0/lib/python2.7/site-packages/django/forms/models.py" in fields_for_model 
    146.  opts = model._meta 

Exception Type: AttributeError at /project/add/ 
Exception Value: type object 'Project' has no attribute '_meta' 

उत्तर

9

बदलें:

class Project(models.Manager) 

रहे हैं:

क्योंकि
class Project(models.Model) 

models.Model वास्तविक वर्ग है आप कस्टम मॉडल बनाने के लिए विस्तार करना चाहिए, और प्रबंधकों वास्तव में उपयोग किया जाता है डेटाबेस ऑपरेशन को ओवरराइड करने के लिए आयनों के मॉडल शामिल हैं।

+0

क्या कोई और चीज गायब है? चूंकि मैंने सुझाव दिया है जैसा कि आपने सुझाव दिया है, यह विशेषता त्रुटि को नहीं हटाता है। – tilaprimera

+0

'मॉडल.मोडेल' का कौन सा मॉड्यूल आयात किया जाना चाहिए? कई विकल्प हैं लेकिन ऐसा लगता है कि मेरा कस्टम मॉडल उनमें से किसी के तहत फिट नहीं है। – KasparTr