django模特CharField

时间:2015-07-14 13:34:21

标签: django satchmo

我正在尝试使用一些现有代码创建一个django幻灯片应用并添加一些新内容。我不确定我所做的事情是否正确,我认为问题出在我的models.py和初学者身上,我认为我需要一些建议。

models.py

from django.db import models
import datetime

class Slider(models.Model):
    title = models.CharField(max_length=100)
    description = models.TextField(blank=True)
    slideshow = models.ForeignKey('Slideshow')
    images = models.ImageField(upload_to='slideshow', max_length=1000, blank=True, null=True)

def __unicode__ (self):
    return self.title

class Slideshow(models.model):
    name = models.CharField(max_length=50)
    touchEnabled = models.BooleanField(blank=True, default=False)

    speed = models.IntegerField(blank=True, default=500)

    class wrapperClass_options(models.Model):
        choices = (('mydiv'))  

    wrapperClass = models.CharField(blank=True, max_length=20, default=choices)
    # div class to wrap the slider in. Change it to prevent using default styles.

    pub_date = models.DateTimeField(auto_now=True)

def __unicode__(self):
    return self.name

我很确定我的BooleanFieldIntegerField还可以,但我对CharField不太确定。

charfield的默认值是#mydiv但是它需要能够被改变为开发人员需要它的任何东西,我是通过创建wrapperclass_options并添加默认值来做正确的选择='mydiv'或者我应该做一些完全不同的事情?

以下是我的admin.py

admin.py

from satchmo_slideshow.models import Slider, Slideshow
from django.contrib import admin

class SlideInline(admin.StackedInline):
    model = Slider

class SlideshowAdmin(admin.ModelAdmin):
    fieldsets = [(title, {'fields': ['name']}),
        ('speed', {'fields': ['Default: 500ms']}),
        ('wrapperClass', {'fields': ['Default: mydiv']}),
        ('touchEnabled', {'fields': ['Default: False']}),      
             ]

   inlines = [SlideInline]
    list_display = ['name', 'pub_date']
    list_filter = ['pub_date']
    search_fields = ['name']

admin.site.register(Slideshow, SlideshowAdmin)

使用python 2.7和django 1.4.2

0 个答案:

没有答案