2010-09-18 24 views
5

अरे, Django के लिए नया और सहायता की आवश्यकता है, जब मैं Django में व्यवस्थापक इंटरफ़ेस में अपना मॉडल जोड़ता हूं तो यह ठीक दिखाई देता है, लेकिन जब मैं डेटाबेस में एक प्रविष्टि जोड़ने या हटाने का प्रयास करता हूं तो मुझे मिलता है:पायथन के साथ Django में टाइपरर 2.7

मेरे उपयोगकर्ता मॉडल वर्ग के अंत करने के लिए, लेकिन कोई सफलता के साथ

def __str__(self): 
    return "" 

:

TypeError at /admin/Users/user/add/  
    coercing to Unicode: need string or buffer, tuple found 

मैं एक गूगल खोज किया और कहा। निश्चित नहीं है कि मुझे अपने admin.py में कुछ दर्ज करना है या नहीं? मेरे पास मेरी उपयोगकर्ता कक्षा में कोई भी "ऐड" विधि नहीं है, यह उपर्युक्त विधि के अलावा कुछ भी नहीं लौटाती है।

किसी भी मदद के लिए धन्यवाद!

उपयोगकर्ता वर्ग:

class User(models.Model): 
GENDER_CHOICES = (
     ('M', 'Male'), 
     ('F', 'Female'), 
    ) 

username = models.CharField(max_length=30) 
email = models.EmailField() 
password = models.CharField(max_length=30) 

birth_date = models.DateField() 
description = models.CharField(max_length=200) 
gender = models.CharField(max_length = 1, choices = GENDER_CHOICES, default = "M") 
image = models.ImageField(upload_to="media/photos/") 
signupIP = models.IPAddressField() 
privateOrPublic = models.BooleanField(default=1) 

def __str__(self): 
    return "" 

और इन/उपयोगकर्ता सरल admin.py/

from Users.models import User 
from django.contrib import admin 

admin.site.register(User) 

Traceback:

Environment: 

Request Method: POST 
Request URL: http://127.0.0.1/admin/Users/user/add/ 
Django Version: 1.2.3 
Python Version: 2.7.0 
Installed Applications: 
['django.contrib.auth', 
    'django.contrib.contenttypes', 
    'django.contrib.sessions', 
    'django.contrib.sites', 
    'django.contrib.messages', 
    'django.contrib.admin', 
    'Users'] 
Installed Middleware: 
('django.middleware.common.CommonMiddleware', 
    'django.contrib.sessions.middleware.SessionMiddleware', 
    'django.middleware.csrf.CsrfViewMiddleware', 
    'django.contrib.auth.middleware.AuthenticationMiddleware', 
    'django.contrib.messages.middleware.MessageMiddleware') 


Traceback: 
File "C:\Python27\lib\site-packages\django\core\handlers\base.py" in get_response 
    100.      response = callback(request, *callback_args, **callback_kwargs) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in wrapper 
    239.     return self.admin_site.admin_view(view)(*args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapped_view 
    76.      response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\views\decorators\cache.py" in _wrapped_view_func 
    69.   response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\contrib\admin\sites.py" in inner 
    190.    return view(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapper 
    21.    return decorator(bound_func)(*args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in _wrapped_view 
    76.      response = view_func(request, *args, **kwargs) 
File "C:\Python27\lib\site-packages\django\utils\decorators.py" in bound_func 
    17.     return func(self, *args2, **kwargs2) 
File "C:\Python27\lib\site-packages\django\db\transaction.py" in _commit_on_success 
    299.      res = func(*args, **kw) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in add_view 
    795.     self.save_model(request, new_object, form, change=False) 
File "C:\Python27\lib\site-packages\django\contrib\admin\options.py" in save_model 
    597.   obj.save() 
File "C:\Python27\lib\site-packages\django\db\models\base.py" in save 
    434.   self.save_base(using=using, force_insert=force_insert, force_update=force_update) 
File "C:\Python27\lib\site-packages\django\db\models\base.py" in save_base 
    517.       for f in meta.local_fields if not isinstance(f, AutoField)] 
File "C:\Python27\lib\site-packages\django\db\models\fields\files.py" in pre_save 
    255.    file.save(file.name, file, save=False) 
File "C:\Python27\lib\site-packages\django\db\models\fields\files.py" in save 
    91.   name = self.field.generate_filename(self.instance, name) 
File "C:\Python27\lib\site-packages\django\db\models\fields\files.py" in generate_filename 
    282.   return os.path.join(self.get_directory_name(), self.get_filename(filename)) 
File "C:\Python27\lib\site-packages\django\db\models\fields\files.py" in get_filename 
    279.   return os.path.normpath(self.storage.get_valid_name(os.path.basename(filename))) 
File "C:\Python27\lib\site-packages\django\utils\functional.py" in __getattr__ 
    276.    self._setup() 
File "C:\Python27\lib\site-packages\django\core\files\storage.py" in _setup 
    242.   self._wrapped = get_storage_class()() 
File "C:\Python27\lib\site-packages\django\core\files\storage.py" in __init__ 
    133.   self.location = os.path.abspath(location) 
File "C:\Python27\lib\ntpath.py" in abspath 
    465.     path = _getfullpathname(path) 

Exception Type: TypeError at /admin/Users/user/add/ 
Exception Value: coercing to Unicode: need string or buffer, tuple found 
+0

क्या आप हमें अपना अधिक कोड दिखा सकते हैं? क्या आपने उपयोगकर्ता वर्ग को बिल्कुल अनुकूलित किया है? –

+0

मैं व्यवस्थापक साइट से परिचित नहीं हूं, लेकिन यदि आप अपने \ __ str__ को \ __ यूनिकोड__ में बदलते हैं तो भी वही है? – juanefren

+0

फिर भी वही, लगता है कि मेरे कोड के बजाय व्यवस्थापक इंटरफ़ेस के साथ कुछ करना है, यह सुनिश्चित नहीं है कि। और अधिक कोड नेड पोस्ट किया। – pyBite42

उत्तर

1

अपने MEDIA_ROOT परिभाषा में, बदलने के अपने को बदलने के एक कच्ची स्ट्रिंग है, अन्यथा आप दोनों के बजाय एक शाब्दिक एकल बैकस्लैश बदल देंगे।

MEDIA_ROOT = os.path.join(os.path.dirname(file), "media").replace(r"\\", "//") 
संबंधित मुद्दे