Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 31, 2012 23:48:41

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

object has no attribute '_state' [РЕШЕНО]

День добрый! Возникла проблем “object has no attribute ‘_state’” для вот этих моделей. Погуглив, я не обнаружил характерных для появления такой ошибки особенностей конструктора моделей. Но проблема исчезать не хочет, поэтому прошу помощи.

class VideoProfile(models.Model):
        type           = models.CharField(max_length=2)
        name           = models.CharField(max_length=50)
        videocodec     = models.CharField(max_length=50)
        bframe         = models.CharField(max_length=2)
        gop            = models.CharField(max_length=2)
        ref            = models.CharField(max_length=10)
        noisereduction = models.CharField(max_length=4)
        deblocking     = models.CharField(max_length=10)
        sharpness      = models.CharField(max_length=3)
        videobitrate   = models.CharField(max_length=4)
        params         = models.CharField(max_length=200)
        def __init__(self, type, params):
                self.type = type;
                self.name, self.videocodec, self.bframe, self.gop, self.ref, self.noisereduction, self.deblocking, self.sharpness, self.videobitrate = params.split('\t')
                self.params = str(params[1:]).replace(', ', '/')[1:-1].replace("'", "")
class AudioProfile(models.Model):
        name          = models.CharField(max_length=50)
        audiocodec    = models.CharField(max_length=50)
        channels      = models.CharField(max_length=50)
        normalization = models.CharField(max_length=4)
        audiobitrate  = models.CharField(max_length=4)
        params        = models.CharField(max_length=100)
        type          = models.CharField(max_length=50)
        def __init__(self, profile):
                self.type = "au"
                self.name, self.audiocodec, self.channels, self.normalization, self.audiobitrate = profile.split('\t')
                self.params = str(profile[1:]).replace(', ', '/')[1:-1].replace("'", "")
Ошибка возникает при вызове метода save() для вышеописанных моделей. Собственно ошибка:
AttributeError at /upload/
'VideoProfile' object has no attribute '_state'
Request Method:	POST
Request URL:	http://62.152.54.218:8580/upload/
Django Version:	1.4.1
Exception Type:	AttributeError
Exception Value:	
'VideoProfile' object has no attribute '_state'
Exception Location:	/usr/local/lib/python2.6/dist-packages/django/db/utils.py in _route_db, line 141

Отредактировано fongostev (Янв. 1, 2013 13:50:03)

Офлайн

#2 Янв. 1, 2013 05:48:47

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

object has no attribute '_state' [РЕШЕНО]

Для начала напишите полное сообщение об ошибке.



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Янв. 1, 2013 12:36:15

FishHook
От:
Зарегистрирован: 2011-01-08
Сообщения: 8312
Репутация: +  568  -
Профиль   Отправить e-mail  

object has no attribute '_state' [РЕШЕНО]

В код не вчитывался, но вот это режет глаз

fongostev
self.type = type;
не стОит называть переменные ключевыми словами питона, возможны совершено непредсказуемые побочные эффекты.



Офлайн

#4 Янв. 1, 2013 13:49:34

fongostev
От: Moskau
Зарегистрирован: 2012-04-03
Сообщения: 62
Репутация: +  4  -
Профиль   Отправить e-mail  

object has no attribute '_state' [РЕШЕНО]

FishHook
В код не вчитывался, но вот это режет глаз
Понял, принял к сведению.
Кстати, проблема уже неактуальна, решил поставленную задачу идеологически другим способом.
А эта проблема решается примерно так, как описано здесь:
http://habrahabr.ru/post/135263/

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version