Ich verwende SQLalchemy's Automap, um das Schema aus einer Postgres -Datenbank zu automatisieren, die von Odoo verwaltet wird (Direktzugriff der Datenbank ist schneller als die Verwendung der ODOO -API). Die folgenden Beispiele aus den Dokumenten geben mir jedoch Probleme.
# we can reflect it ourselves from a database, using options
# such as 'only' to limit what tables we look at...
metadata.reflect(engine, only=['user', 'address'])
< /code>
Mein Code: < /p>
import sqlalchemy as sa
from sqlalchemy.ext.automap import automap_base
from app import odb
from sqlalchemy.orm import declarative_base, relationship
from sqlalchemy.orm.relationships import RelationshipProperty
metadata = sa.MetaData()
metadata.reflect(odb, only=['sale_order'])
Base = automap_base(metadata=metadata)
Base.prepare()
Order = Base.classes.sale_order
< /code>
Aber ich irre mich auf einer Zuordnung für eine Tabelle aus, die ich nicht angegeben habe.[ins] In [1]: from app.omodels import Order
/home/mas/pe/app/omodels/omodels.py:8: SAWarning: Skipped unsupported reflection of expression-based index res_partner_vat_index
metadata.reflect(odb, only=['sale_order'])
---------------------------------------------------------------------------
ArgumentError Traceback (most recent call last)
in
----> 1 from app.omodels import Order
~/pe/app/omodels/__init__.py in
----> 1 from .omodels import *
~/pe/app/omodels/omodels.py in
8 metadata.reflect(odb, only=['sale_order'])
9 Base = automap_base(metadata=metadata)
---> 10 Base.prepare()
11 Order = Base.classes.sale_order
12
in prepare(cls, autoload_with, engine, reflect, schema, classname_for_table, collection_class, name_for_scalar_relationship, name_for_collection_rela
tionship, generate_relationship, reflection_options)
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py in warned(fn, *args, **kwargs)
296 stacklevel=3,
297 )
--> 298 return fn(*args, **kwargs)
299
300 doc = fn.__doc__ is not None and fn.__doc__ or ""
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/ext/automap.py in prepare(cls, autoload_with, engine, reflect, schema, classname_for_table, collection_class
, name_for_scalar_relationship, name_for_collection_relationship, generate_relationship, reflection_options)
926
927 for map_config in _DeferredMapperConfig.classes_for_base(cls):
--> 928 map_config.map()
929
930 _sa_decl_prepare = True
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/decl_base.py in map(self, mapper_kw)
1070 def map(self, mapper_kw=util.EMPTY_DICT):
1071 self._configs.pop(self._cls, None)
-> 1072 return super(_DeferredMapperConfig, self).map(mapper_kw)
1073
1074
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/decl_base.py in map(self, mapper_kw)
990 return self.set_cls_attribute(
991 "__mapper__",
--> 992 mapper_cls(self.cls, self.local_table, **self.mapper_args),
993 )
994
in __init__(self, class_, local_table, properties, primary_key, non_primary, inherits, inherit_condition, inherit_foreign_keys, always_refresh, versi
on_id_col, version_id_generator, polymorphic_on, _polymorphic_map, polymorphic_identity, concrete, with_polymorphic, polymorphic_load, allow_partial_pks, batc
h, column_prefix, include_properties, exclude_properties, passive_updates, passive_deletes, confirm_deleted_rows, eager_defaults, legacy_is_orphan, _compiled_
cache_size)
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/util/deprecations.py in warned(fn, *args, **kwargs)
296 stacklevel=3,
297 )
--> 298 return fn(*args, **kwargs)
299
300 doc = fn.__doc__ is not None and fn.__doc__ or ""
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in __init__(self, class_, local_table, properties, primary_key, non_primary, inherits, inherit_condition, inherit_foreign_keys, always_refresh, version_id_col, version_id_generator, polymorphic_on, _polymorphic_map, polymorphic_identity, concrete, with_polymorphic, polymorphic_load, allow_partial_pks, batch, column_prefix, include_properties, exclude_properties, passive_updates, passive_deletes, confirm_deleted_rows, eager_defaults, legacy_is_orphan, _compiled_cache_size)
681 self._configure_inheritance()
682 self._configure_class_instrumentation()
--> 683 self._configure_properties()
684 self._configure_polymorphic_setter()
685 self._configure_pks()
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in _configure_properties(self)
1439
1440 self._configure_property(
-> 1441 column_key, column, init=False, setparent=True
1442 )
1443
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in _configure_property(self, key, prop, init, setparent)
1674
1675 if not isinstance(prop, MapperProperty):
-> 1676 prop = self._property_from_column(key, prop)
1677
1678 if isinstance(prop, properties.ColumnProperty):
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in _property_from_column(self, key, prop)
1866 "use the 'include_properties' or 'exclude_properties' "
1867 "mapper arguments to control specifically which table "
-> 1868 "columns get mapped." % (key, self, column.key, prop)
1869 )
1870
ArgumentError: WARNING: when configuring property 'product_packaging' on mapped class stock_move->stock_move, column 'product_packaging' conflicts with property ''. To resolve this, map the column to the class under a different name in the 'properties' dictionary. Or, to remove all awareness of the column entirely (including its availability as a foreign key), use the 'include_properties' or 'exclude_properties' mapper arguments to control specifically which table columns get mapped.
Frage : Wie kann ich diese Tabelle ausschließen (oder nur die Tabellen, die ich möchte), damit SQLA nicht unnötig anpeppt, Tabellen, die ich nicht brauche. Objekt? In der Fehler /Warnung heißt es < /p>
Um dies aufzulösen, zeichnen Sie die Spalte in der Klasse unter einem anderen Namen im Wörterbuch "Eigenschaften" auf der Klasse ab. Oder verwenden Sie, um das gesamte Bewusstsein der Spalte vollständig (einschließlich ihrer Verfügbarkeit als Fremdschlüssel) zu entfernen, die Mapper -Argumente von 'Include_Properties' oder 'exklude_properties' Mapper -Argumente, um speziell zu kontrollieren, welche Tabellenspalte spezifisch abgebildet werden.>
Ich verwende SQLalchemy's Automap, um das Schema aus einer Postgres -Datenbank zu automatisieren, die von Odoo verwaltet wird (Direktzugriff der Datenbank ist schneller als die Verwendung der ODOO -API). Die folgenden Beispiele aus den Dokumenten geben mir jedoch Probleme.[code]# we can reflect it ourselves from a database, using options # such as 'only' to limit what tables we look at... metadata.reflect(engine, only=['user', 'address']) < /code> Mein Code: < /p> import sqlalchemy as sa from sqlalchemy.ext.automap import automap_base from app import odb from sqlalchemy.orm import declarative_base, relationship from sqlalchemy.orm.relationships import RelationshipProperty
metadata = sa.MetaData() metadata.reflect(odb, only=['sale_order']) Base = automap_base(metadata=metadata) Base.prepare() Order = Base.classes.sale_order < /code> Aber ich irre mich auf einer Zuordnung für eine Tabelle aus, die ich nicht angegeben habe.[ins] In [1]: from app.omodels import Order /home/mas/pe/app/omodels/omodels.py:8: SAWarning: Skipped unsupported reflection of expression-based index res_partner_vat_index metadata.reflect(odb, only=['sale_order']) --------------------------------------------------------------------------- ArgumentError Traceback (most recent call last) in ----> 1 from app.omodels import Order
~/pe/app/omodels/__init__.py in ----> 1 from .omodels import *
~/pe/app/omodels/omodels.py in 8 metadata.reflect(odb, only=['sale_order']) 9 Base = automap_base(metadata=metadata) ---> 10 Base.prepare() 11 Order = Base.classes.sale_order 12
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in _configure_property(self, key, prop, init, setparent) 1674 1675 if not isinstance(prop, MapperProperty): -> 1676 prop = self._property_from_column(key, prop) 1677 1678 if isinstance(prop, properties.ColumnProperty):
~/pe/.venv/lib/python3.6/site-packages/sqlalchemy/orm/mapper.py in _property_from_column(self, key, prop) 1866 "use the 'include_properties' or 'exclude_properties' " 1867 "mapper arguments to control specifically which table " -> 1868 "columns get mapped." % (key, self, column.key, prop) 1869 ) 1870
ArgumentError: WARNING: when configuring property 'product_packaging' on mapped class stock_move->stock_move, column 'product_packaging' conflicts with property ''. To resolve this, map the column to the class under a different name in the 'properties' dictionary. Or, to remove all awareness of the column entirely (including its availability as a foreign key), use the 'include_properties' or 'exclude_properties' mapper arguments to control specifically which table columns get mapped. [/code] [b] Frage [/b] : Wie kann ich diese Tabelle ausschließen (oder nur die Tabellen, die ich möchte), damit SQLA nicht unnötig anpeppt, Tabellen, die ich nicht brauche. Objekt? In der Fehler /Warnung heißt es < /p>
Um dies aufzulösen, zeichnen Sie die Spalte in der Klasse unter einem anderen Namen im Wörterbuch "Eigenschaften" auf der Klasse ab. Oder verwenden Sie, um das gesamte Bewusstsein der Spalte vollständig (einschließlich ihrer Verfügbarkeit als Fremdschlüssel) zu entfernen, die Mapper -Argumente von 'Include_Properties' oder 'exklude_properties' Mapper -Argumente, um speziell zu kontrollieren, welche Tabellenspalte spezifisch abgebildet werden.>
Ich lerne, Anfragen in Python zu verwenden, und ich brauche einen Weg, um eine aussagekräftige Ausgabe zu erhalten, wenn die Site überhaupt nicht existiert .
Ich habe mir diese Frage angesehen, aber...
Ich habe eine ausgelöste Funktion von Azure C# HTTP, bei der es sich um einen API -Aufruf handelt, der eine JSON -Nutzlast zurückgibt. Die Funktion wird in einem isolierten Arbeitermodell ausgeführt...
Ich habe einen Service, den ich in Wildfly 25.0.0 beginne. Als ich den Service zum ersten Mal begann, bekam ich:
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either...
Ich habe einen Service, den ich in Wildfly 25.0.0 beginne. Als ich den Service zum ersten Mal begann, bekam ich:
LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either...