IntegerField Django的max_digits

时间:2017-11-07 00:14:14

标签: python django

我正在寻找一种指定IntegerField的方法,以便它具有一定的最大数字。我正在寻找的东西类似于CharField的max_length。我已经搜索了互联网,甚至在这个论坛中,但它们都是与添加最小值和最大值(如min_length和max_length)或添加验证器相关的答案。因此,他们不会感到困惑,我感兴趣的是建立一个最大数字而不是最大值的IntegerField。是否有一个函数可以提供给我,以便在模型中可以将参数添加到此IntegerField?

例如为: code = models.IntegerField('Code', primary_key=True, max_digits=8)

2 个答案:

答案 0 :(得分:0)

那是... TARGETS="armeabi-v7a armeabi x86 mips arm64-v8a mips64" for TARGET in ${TARGETS} do # create one build dir per target architecture mkdir -p ${BUILD_PATH}/${TARGET} cd ${BUILD_PATH}/${TARGET} cmake -DANDROID_NATIVE_API_LEVEL=${ANDROID_NATIVE_API_LEVEL} -DCMAKE_TOOLCHAIN_FILE=${ANDROID_TOOLCHAIN} -DANDROID_NDK=${ANDROID_NDK} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DANDROID_ABI=${TARGET} -DPROJ_HOME=${PROJ_HOME} ../../src make -j32 cd - done ... 的用途。

project/
+--- src/
+--- build/
     +--- armeabi-v7a/
     +--- armeabi/
     +--- x86/
     +--- mips/
     +--- arm64-v8a/
     +--- mips64/

答案 1 :(得分:0)

由于您使用的是基数十进制,我假设基数为10,但您可以使用对数属性来确定它。 log()不是最准确的功能,所以你必须四舍五入才能获得正确的数字(我在高中时学到的有趣技巧,如果你想要圆,加0.5,并截断)。所以这将是一个函数,它返回你可以验证的数字位数,如果它不是基数10,你可以指定base = whatever

def digits(num, base=10):
    print(int(math.log(num, base) + 1.5))