1. 时区
django在settings.py里面有一个设置时区的地方。这时候如果客户端和服务器端进行数据交换的时候时间格式中没有带有时区信息,那么django将默认使用settings.py中设置的时区代替。这在编程进行时间保存和比较的时候如果不注意会带来问题。好的解决方案如下:
a. 把settings.py的时区设置为'UTC'。
b. 在进行日期时间保存或比较的时候都带有时区信息。
c. 约定客户端和服务器端交互都用UTC时间表示。
以上三点同时做到,那么基本不会有问题。
2. 表单
django的表单定义的字符串类型参数在用户没有提供参数的时候,并不会得到None,而是得到一个空字符串。
所以进行判断时应该使用not,而不是is None。
但是整数类型参数在没有提供参数的时候,得到的是None。
3. 外键名称
django的数据模型在使用外键的时候,其名字就是在模型中定义的名字,无需加_id。