class Pedido(models.Model):
cliente = models.ForeignKey(Proponente)
data_pedido =models.DateField()
estado_pedido = models.BooleanField(default = False)
class Item_pedido(models.Model):
pedido=models.ForeignKey(Pedido)
produto=models.ForeignKey(Produto)
quant=models.IntegerField()
Estou seguindo 3 tutoriais diferentes, e parei no mesmo lugar... após
configurar a aplicação, ao rodar o syncdb o python-django esta
apresentando a mensagem abaixo
C:\Python26\Scripts\webapp>python manage.py syncdb
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File
"C:\Python26\lib\site-packages\django\core\management\__init__.py", line
340, in execute_manager
utility.execute()
File
"C:\Python26\lib\site-packages\django\core\management\__init__.py", line
295, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "C:\Python26\lib\site-packages\django\core\management\base.py",
line 192,
in run_from_argv
self.execute(*args, **options.__dict__)
File "C:\Python26\lib\site-packages\django\core\management\base.py",
line 218,
in execute
self.validate()
File "C:\Python26\lib\site-packages\django\core\management\base.py",
line 246,
in validate
num_errors = get_validation_errors(s, app)
File
"C:\Python26\lib\site-packages\django\core\management\validation.py", lin
e 28, in get_validation_errors
for (app_name, error) in get_app_errors().items():
File "C:\Python26\lib\site-packages\django\db\models\loading.py", line
128, in
get_app_errors
self._populate()
File "C:\Python26\lib\site-packages\django\db\models\loading.py", line
57, in
_populate
self.load_app(app_name, True)
File "C:\Python26\lib\site-packages\django\db\models\loading.py", line
72, in
load_app
mod = __import__(app_name, {}, {}, ['models'])
File "C:\Python26\Scripts\webapp\..\webapp\blog\models.py", line 5
slug = models.SlugField(prepopulate_from=('title',),primar-key=True)
SyntaxError: keyword can't be an expression
Estou rodando:
Windows XP SP3
Python 2.6.2
Django-1.0.2-final
--
Eduardo
Com ajuda do "Alexandre Martani" (agradeço ajuda) compreendi como ler o
erro e acertar as sintaxes, mas esta não estou achando...
File "C:\Python26\Scripts\webapp\..\webapp\blog\models.py", line 4, in
<module
>
class Post(models.Model):
File "C:\Python26\Scripts\webapp\..\webapp\blog\models.py", line 5, in
Post
slug = models.SlugField(prepopulate_from=('title',), primary_key=True)
File
"C:\Python26\lib\site-packages\django\db\models\fields\__init__.py", line
768, in __init__
super(SlugField, self).__init__(*args, **kwargs)
TypeError: __init__() got an unexpected keyword argument 'prepopulate_from'
Eduardo
Oi Eduardo.
Não sei qual a sua versão do Django, mas o prepopulate_from foi
removido em versões do Django posteriores a 0.96. É provavelmente por
isso que seu código não funciona. Você deve estar lendo uma
documentação um pouco defasada.
Na verdade, foi considerado um erro esse parametro existir como
existiu, e por isso foi removido.
Se você quer aquela funcionalidade:
http://code.djangoproject.com/wiki/BackwardsIncompatibleChanges#Changedprepopulate_fromtobedefinedintheAdminclassnotdatabasefieldclasses
--
Abraços
Leandro Lameiro
Esta mensagem significa que o método __init__ da classe em questão não
espera um argumento com o nome prepopulate_from. Talvez você esteja
trbalhando com uma versão de Django diferente da versão para a qual o
tutorial foi escrito e haja diferenças entre as APIs dessas versões.
--
Goedson Teixeira Paixao
vou rever minha instalacao a noite e a instalaca dos tutoriais
grato
--
Eduardo