问题描述
(对不起我的英语不好)
我在我的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个字段,一个字段是电话号码(整数),另一个字段是字符字段的前缀,然后将它们连接起来(均为字符串)以获取完整的数字。
这种解决方案对我来说似乎不太好,并且绝对不应用于商业或敏感编码。