【发布时间】:2015-07-15 05:15:54
【问题描述】:
我在 model.py 上有一个选择字段,它允许用户从我的 sqlite 数据库中的另一个模型中选择一个字段值。使用开发服务器(“python manage.py runserver”命令选择字段已正确填充)在 runserver 命令期间填充。我遇到的问题是,当我们添加新字段时,我希望选择字段自动更新。
class UserData(models.Model):
usertype = models.IntegerField('User Type',choices=((0, ("Boat Owner")),(1, ("Boat Manager")),(2, ("Travel Agent"))))
username = models.CharField(max_length=200,unique=True)
password = models.CharField(max_length=200)
name = models.CharField(max_length=200,verbose_name='Name')
boat_no = models.CharField(max_length=200,unique=True)
address = models.CharField(max_length=200)
phone_regex = RegexValidator(regex=r'^\+?1?\d{9,15}$', message="Phone number must be entered in the format: '+999999999'. Up to 15 digits allowed.")
phone = models.IntegerField(validators=[phone_regex], blank=True) # validators should be a list
email = models.EmailField('email address', unique=True)
avatar = models.ImageField('profile picture', upload_to='images', null=True, blank=True)
def image_img(self):
if self.avatar:
return u'<img src="/media/%s" width="50px" height="50px"/>' % self.avatar
else:
return 'NO IMAGES FOUND !'
image_img.short_description = 'Thumb'
image_img.allow_tags = True
def __str__(self):
return u'%s %s %s %s %s %s %s %s %s' % (self.edit,self.usertype,self.id,self.name,self.boat_no,self.username,self.password,self.address,self.email)
class Meta:
verbose_name = "Boat App User"
verbose_name_plural = "Boat App User"
#Boat_Detail Module
class Boat_Detail(models.Model):
BOAT_NUMBER = list ( (obj.boat_no,obj.boat_no) for obj in UserData.objects.all() )
boat_no = models.CharField(max_length=200, choices=BOAT_NUMBER,verbose_name="Boat NUMBER")
boat_name = models.CharField(max_length=200)
no_of_ac_rooms = models.IntegerField(verbose_name="No of AC Rooms")
no_of_nonac_rooms = models.IntegerField(verbose_name="No of Non AC Rooms")
BOAT_MANAGER_LIST = list ( (obj.name,obj.name) for obj in UserData.objects.all() )
BOAT_OWNER_LIST = list ( (obj.name,obj.name) for obj in UserData.objects.all() )
boat_owner = models.CharField(max_length=200, choices=BOAT_OWNER_LIST,verbose_name="Boat Owner")
boat_manager = models.CharField(max_length=200, choices=BOAT_MANAGER_LIST,verbose_name="Boat Manager")
avatar = models.ImageField('profile picture', upload_to='images', null=True, blank=True)
def __str__(self):
return u'%s %s %s %s %s %s' % (self.edit,self.id,self.boat_name,self.boat_no,self.boat_manager,self.boat_owner)
class Meta:
verbose_name = "Boat Details"
verbose_name_plural = "Boat Details"
def image_img(self):
if self.avatar:
return u'<img src ="/media/%s" width="50px" height="50px"/>' % self.avatar
else:
return 'NO IMAGES FOUND !'
image_img.short_description = 'Thumb'
image_img.allow_tags = True
【问题讨论】:
-
您能否请edit您的问题是实际代码,并在80个字符左右插入一些换行符以提高可读性?
-
ForeignKey 不是你可以使用的吗?