Ограничение, включающее набор даты и времени PythonPython

Программы на Python
Ответить
Anonymous
 Ограничение, включающее набор даты и времени Python

Сообщение Anonymous »

Я получаю сообщение об ошибке

Код: Выделить всё

TypeError: '>' not supported between instances of 'ai.timefold.jpyinterpreter.types.datetime.PythonDate' and 'datetime.date'
при использовании ограничения типа

Код: Выделить всё

def teacher_soft(constraint_factory: ConstraintFactory):
return constraint_factory.for_each(Exam) \
.filter(
lambda e:
e.teacher != None and
e.timeslot and (
_search("Doe",exam.teacher)!=None and (
exam.timeslot.start_time.date() > datetime.date(2025,2,10)
)
...
где e является частью объекта планирования.
У меня была аналогичная ошибка при сравнении str, которую я мог устранить, принудительно задействовав str(x ) на PythonString, однако, это кажется более сложным.
Как мне заставить это ограничение работать, не прибегая к отчаянным мерам, таким как, например, создание моего собственного класса «PythonDateTimeSet»?
--- редактировать
Структуры домена в основном определяются следующим образом:

Код: Выделить всё

class Timeslot:
id : Annotated[int, PlanningId]
start_time : datetime.datetime
end_time : datetime.datetime
grain:datetime.timedelta = datetime.timedelta(hours=2)
time_max=datetime.time.max
...
@planning_entity
class Exam:
id: Annotated[int,PlanningId]
subject: str
teacher: str
participants: int
pinned : Annotated[bool, PlanningPin]
timeslot : Annotated[Timeslot | None,
PlanningVariable]

Это код, перенесенный из optapy. Однако уровень Java-Python, похоже, существенно изменился с течением времени.

Подробнее здесь: https://stackoverflow.com/questions/793 ... tetime-set
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»