[PonyORM-list] problems with Date field defenition
Вадим Бажов
vadim at ideco.ru
Thu Jul 31 11:13:06 UTC 2014
Yes, my fault ! Thank you Alexander.
And the second mistake is the 'date' name for the field variable. It's
reserved in python. I had to rename it to 'insdate' and now everithyng
works fine.
Thanks a lot for the Pony ORM and immediate support ))
31.07.2014 16:55, Alexander Kozlovsky пишет:
> Hi Vadim!
>
> The datatype that is specifed in attribute definition is a normal
> Python type. In Python, `int` and `str` types can be used immediately,
> but `date` and `datetime` types must be imported from stadard
> `datetime` module.
>
> You can add this import to the beginning of your program:
>
> from datetime import date, datetime
>
> After that, all should work without the exception:
>
> date = Required(date)
> updated_at = Optional(datetime)
>
> Alternatively, you can just import `datetime` module itself:
>
> import datetime
>
> After that, refer to `date` and `datetime` types as `datetime.date`
> and `datetime.datetime`:
>
> date = Required(datetime.date)
> updated_at = Optional(datetime.datetime)
>
> Regards,
> Alexander Kozlovsky
>
>
>
> On Thu, Jul 31, 2014 at 2:33 PM, Вадим Бажов <vadim at ideco.ru
> <mailto:vadim at ideco.ru>> wrote:
>
> Hi people !
>
> Whenever i create a date or datetime field in entity python always
> gives me an exception:
>
> "NameError: name 'date' is not defined" for "date =
> Required(date)" record according your documentation documentation
>
> "pony.orm.core.ERDiagramError: Entity definition date was not
> found" for "date = Required('date')"
>
> I am trying to run i file with folowing code:
>
> #!/usr/bin/python
>
> # -*- coding: utf-8 -*-
>
> from pony.orm import *
>
> db = Database('sqlite', 'db.sqlite', create_db=True)
>
> class subscribers(db.Entity):
>
> id = PrimaryKey(int, auto=True)
>
> email = Optional(str)
>
> date = Required(date)
>
> sql_debug(True)
>
> db.generate_mapping(create_tables=True)
>
>
> Running that code from python shell gives me the following:
>
> from pony.orm import *
>
>
> db = Database('sqlite', '/tmp/db.sqlite', create_db=True)
>
>
> GET NEW CONNECTION
>
> RELEASE CONNECTION
>
> class subscribers(db.Entity):
>
>
> ... id = PrimaryKey(int, auto=True)
>
> ... email = Optional(str)
>
> ... date = Required('date')
>
> ...
>
> sql_debug(True)
>
>
> db.generate_mapping(create_tables=True)
>
>
> Traceback (most recent call last):
>
> File "<stdin>", line 1, in <module>
>
> File "<auto generated wrapper of generate_mapping() function>",
> line 2, in generate_mapping
>
> File "/usr/local/lib/python2.7/dist-packages/pony/orm/core.py",
> line 2698, in _resolve_attr_types_
>
> throw(ERDiagramError, 'Entity definition %s was not found' %
> py_type)
>
> File "/usr/local/lib/python2.7/dist-packages/pony/utils.py",
> line 126, in throw
>
> raise exc # Set "pony.options.CUT_TRACEBACK = False" to see
> full traceback
>
> pony.orm.core.ERDiagramError: Entity definition date was not found
>
>
> So database can't be created after all.
>
> Pony version installed with pip:
>
> pony - Pony Object-Relational Mapper
>
> INSTALLED: 0.5.1
>
> LATEST: 0.5-beta
>
> Is it a bug or something? How i should create a datefield with Pony ?
>
> I've couldn't create a table with several tables with Pony until i
> commented out all datefields strings from the code. So Pony works
> if i don't use datetime fields.
>
>
> --
> С уважением,
> Бажов Вадим,
> Инженер отдела технической поддержки,
> Компания Айдеко
> --
> Телефоны: +7 (495) 987-32-70; +7 (495) 662-87-34 (тех. поддержка);
> +7 (343) 345-15-75; Факс: +7 (343) 383-75-13
>
> Электронная почта:
> Вопросы по приобретению: sales at ideco.ru <mailto:sales at ideco.ru>
> Технические вопросы: support at ideco.ru <mailto:support at ideco.ru>
> Партнерство: partners at ideco.ru <mailto:partners at ideco.ru>
> Общие вопросы: info at ideco.ru <mailto:info at ideco.ru>
>
> Сайт: http://www.ideco.ru/
> Форум: http://www.ideco.ru/forum/
>
> _______________________________________________
> ponyorm-list mailing list
> ponyorm-list at ponyorm.com <mailto:ponyorm-list at ponyorm.com>
> /ponyorm-list
>
>
>
>
> _______________________________________________
> ponyorm-list mailing list
> ponyorm-list at ponyorm.com
> /ponyorm-list
--
С уважением,
Бажов Вадим,
Инженер отдела технической поддержки,
Компания Айдеко
--
Телефоны: +7 (495) 987-32-70; +7 (495) 662-87-34 (тех. поддержка); +7 (343) 345-15-75; Факс: +7 (343) 383-75-13
Электронная почта:
Вопросы по приобретению: sales at ideco.ru
Технические вопросы: support at ideco.ru
Партнерство: partners at ideco.ru
Общие вопросы: info at ideco.ru
Сайт: http://www.ideco.ru/
Форум: http://www.ideco.ru/forum/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </ponyorm-list/attachments/20140731/93eb8071/attachment-0001.html>
More information about the ponyorm-list
mailing list