所有
我想使用整数来存储用户验证状态。例如:需要验证以下信息:电子邮件地址,公民身份证,驾驶执照。定义如下: 0x00000001表示用户提交的电子邮件地址。 0x00000002表示用户的电子邮件已经过验证并通过。 0x00000005表示用户的电子邮件地址不正确。
0x00000010表示用户提交的公民身份证。 0x00000020表示已验证并传递了用户的公民ID。 0x00000050表示用户的公民ID不正确。
0x00000100表示用户提交的驱动器许可证ID。 0x00000200表示已验证并通过了用户的驱动器许可证ID。 0x00000500表示用户的驱动器许可证ID不正确。
我想过滤用户的电子邮件已经过验证。我怎样才能通过django模型过滤它。我想得到的是状态& 0x0000000f == 2.
非常感谢。
答案 0 :(得分:0)
我不会尝试使用此方法存储在您的数据库中。为什么不简单地选择三个SmallIntegerField,例如status_email
,status_citizen
和status_drivelicense
,它们可以保存值0(已提交),1(已验证)和-1(不正确)?
这对于您的应用程序逻辑以及在数据库中进行过滤来说要容易得多。
您能解释为什么要按照这样的方式对信息进行编码的原因吗?