AttributeError: Weder das Objekt „BinaryExpression“ noch das Objekt „Comparator“ hat das Attribut „description“.Python

Python-Programme
Guest
 AttributeError: Weder das Objekt „BinaryExpression“ noch das Objekt „Comparator“ hat das Attribut „description“.

Post by Guest »

Ich habe die folgende case-Anweisung in meinem Code:

Code: Select all

status = case(
(
orders.c.item_delivered.is_(True),
OrderStatus.DELIVERED.value,
),
(
orders.c.order_processing_status == OrderStatus.COMPLETED.value,
OrderStatus.COMPLETED.value,
),
(
and_(
orders.c.order_processing_status == OrderStatus.EXCEPTION.value,
orders.c.order_processing_reason == OrderReason.OUT_OF_STOCK.value,
),
OrderStatus.OUT_OF_STOCK.value,
),
(
and_(
orders.c.invoice_id.is_(None),
orders.c.invoice_status == InvoiceStatus.FAILED.value,
),
OrderStatus.EXCEPTION.value,
),
(
and_(
orders.c.invoice_id.is_(None),
orders.c.invoice_status.in_(
[
InvoiceStatus.PROCESSED.value,
InvoiceStatus.COMPLETE_WITH_ERRORS.value,
]
),
),
OrderStatus.COMPLETED.value,
),
else_=OrderStatus.IN_PROGRESS.value,
)
Der Code schlägt jedoch mit der folgenden Ausnahme fehl:

Code: Select all

AttributeError: Neither 'BinaryExpression' object nor 'Comparator' object has an attribute 'description'
raise exception
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/compat.py", line 211, in raise_
util.raise_(
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 857, in __getattr__
friendly = self.description
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 596, in __repr__
raise TypeError("Object '%r' is not dict-like" % dictlike)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/util/langhelpers.py", line 1417, in dictlike_iteritems
whens = util.dictlike_iteritems(whens)
File "/usr/local/lib/python3.10/site-packages/sqlalchemy/sql/elements.py", line 2972, in __init__
File "", line 2, in case
status = case(
Umgebung:
SQLAlchemy: 1.4.46
Flask-SQLAlchemy: 3.0.2
Problem:
Ich bin nicht sicher, was diesen Fehler verursacht. Die Fallerklärung scheint einfach zu sein und ich kann das Problem nicht lokal reproduzieren.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post