Django如何将整数字段从零开始?

问题描述

(对不起我的英语不好)

我在我的models.py.i中使用一个整数字段。我使用此字段作为电话号码。电话号码以零(0)或加号(+)开始。当我编写此字段时:05555555将显示: 5555555.我该如何写05555555并显示0555555?我尝试了电话号码字段,但遇到了问题。在这里,我的models.py:

from django.db import models
from django.contrib.auth.models import User

class elan(models.Model):
    cixis_yeri = models.CharField(max_length=150)
    catma_yeri = models.CharField(max_length=150)
    cixis_vaxti = models.DateField()
    catma_vaxti = models.DateField()
    elaqe_nomresi = models.IntegerField()
    sirket = models.CharField(max_length=100,blank=True,null=True)
    elave_melumatlar = models.TextField(null=True,blank=True)
    silinme_vaxti = models.DateTimeField()
    user = models.ForeignKey('auth.User',verbose_name='paylasan',on_delete=models.CASCADE)
    favorit = models.ManyToManyField(User,related_name="favorit")

    def __str__(self):
        return self.cixis_yeri


    class Meta:
        ordering = ['-id']

forms.py:

from django import forms
from .models import elan

class elanform(forms.ModelForm):

    class Meta:
        model = elan
        fields = [
            'cixis_yeri','catma_yeri','cixis_vaxti','catma_vaxti','elaqe_nomresi','elave_melumatlar','sirket',]

        labels = {
            'cixis_yeri':"Çıxış Yeri",'catma_yeri':"Çatma Yeri",'cixis_vaxti':"Çıxış Vaxtı",'catma_vaxti':"Çatma Vaxtı",'elaqe_nomresi':"Əlaqə Nömrəsi",'elave_melumatlar':"Əlavə Məlumatlar",'sirket':"Şirkət",}

        widgets = {
            'cixis_yeri': forms.TextInput(attrs = {'class':'form-control kendi','placeholder':'Olke-Seher','id':"exampleFormControlInput1"}),'catma_yeri': forms.TextInput(attrs = {'class':'form-control kendi','placeholder':'Olke-Seher'}),'cixis_vaxti': forms.DateInput(attrs = {'class':'cixis_vaxti','type':'date'}),'catma_vaxti': forms.DateInput(attrs = {'class':'catma_vaxti','elave_melumatlar': forms.Textarea(attrs = {'class':'form-control kendi','placeholder':'elave_melumatlar(Vacib Deyil)','type':'text','id':'exampleFormControlTextarea1','rows':'6','columns':'2'}),'sirket': forms.TextInput(attrs = {'class':'form-control kendi','placeholder':'(Vacib Deyil)','elaqe_nomresi': forms.NumberInput(attrs = {'class':'form-control kendi','placeholder':'Elaqe',}

请帮助我。谢谢。

解决方法

尽管您说您的电话号码字段有问题,但它比电话号码的整数字段好得多。使用纯整数字段,您将无法存储任何区域代码,例如(+或#)的前缀。

这里是another question,它将为您提供有关django中电话号码的最佳实践。那里有与解决方案相关的github

如果您真的需要数字保留整数,则可以存储2个字段,一个字段是电话号码(整数),另一个字段是字符字段的前缀,然后将它们连接起来(均为字符串)以获取完整的数字。

这种解决方案对我来说似乎不太好,并且绝对不应用于商业或敏感编码。