gpt4 book ai didi

python - 在 python/django 中保存一周中用户可用性的最佳方法

转载 作者:太空狗 更新时间:2023-10-30 00:57:44 27 4
gpt4 key购买 nike

我想存储用户在一周中可能有空的那几天的偏好。例如用户可以在星期六、星期日有空,但在其他日子不可用。目前,我正在使用 7 个复选框(值 = 1,2,...7)的数组,以便用户可以选择他有空的具体日期。

现在第一个问题是如何将其存储在数据库中。我正在考虑使用字符串(长度 = 7)并存储 1100010 之类的首选项,其中 1 表示可用,0 表示不可用。这是好的做法吗?

第二个问题,如何将POST数据(["1","2","7"])转换成字符串(1100010)

最佳答案

1st - 很好的解决方案,我也在做类似的事情。第二 - 你应该考虑分配每一天的 2 次幂,这样就可以很容易地使用 bin() 将这些数字转换为二进制,并且很容易进行比较,你只需执行 &。

>>> mon, tue, wed, thu, fri, sat, sun = (pow(2, i) for i in range(7)) 
>>> bin(mon)
'0b1'
>>> bin(sun)
'0b1000000'

# create range:
>>> x = mon | wed | fri
>>> bin(x)
'0b10101'

# check if day is in range:
>>> x & mon
1
>>> x & tue
0

bin的问题是你必须在开头加0才能得到7个字符长的字符串,但您也可以像这样编写自己的版本:

bin = lambda n:"".join([str((n >> y) & 1) for y in range(7-1, -1, -1)]) 

关于python - 在 python/django 中保存一周中用户可用性的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5168207/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com