저는 Python으로 프로그래밍하고 SQLAlchemy를 사용하여 업무 시간을 저장합니다.
업무 시간은 세 부분으로 구성되어있다 : 비트 마스크 Python, SQLAlchemy : 업무 시간을 이진 비트 마스크로 저장
- 시대,
- 사업이 종료되는 시간을.
비트 마스크는 다음과 같이 작동합니다. 평일의 다른 순서를 나타내는 0 또는 1 인 7 자리 숫자가 있습니다. 각 위치는 요일을 나타냅니다. 첫 번째 위치는 월요일을 나타내며 마지막 위치는 일요일을 나타냅니다. 예를 들어, 1111100은 월요일 - 금요일 및 0000111, 금요일 - 토요일을 나타냅니다. 또한, 나는 군대 시간에 시간을 저장하고있다, 0600은 6AM을 의미하고 1800은 6PM을 의미한다.
hours = Table('hours', Base.metadata,
Column("id", Integer, primary_key=True),
Column("businessid", Integer, ForeignKey('businesses.id')),
Column("days", Integer),
Column("open", Integer),
Column("close", Integer),
)
class Hours(object):
def __init__(self, days=None, open=None, close=None):
self.days = days
self.open = open
self.close = close
mapper(Hours, hours)
mapper(Business, businesses, properties={
'hours': relationship(Hours, backref='business'),
})
주 중첩의 일을 나타내는 비트 마스크의 경우 두 가지를 파악하기 위해 파이썬의 방법은 무엇입니까? 또한 두 쌍의 Hour 객체가 주어질 때 현재 비즈니스가 열려 있는지 확인하는 가장 좋은 방법은 무엇입니까?
이렇게 설정 한 날짜에 해당 시간이 동일하다고 가정합니다. – Santa
또한 중복으로 무엇을 의미합니까? – Santa
겹침으로써 나는 갈등을 의미합니다. 특정 업무용 업무 시간 인 M-F 오전 8 시부 터 오후 5 시까 지 근무 시간을 저장했다고 가정 해보십시오. 그런 다음 누군가가 F-Su 9AM에서 오후 4 시까 지 다른 Hours 개체를 추가하려고합니다. 이 때가 서로 충돌하므로 화해해야합니다. – john