【发布时间】:2018-06-13 16:14:13
【问题描述】:
我是 Django 的初学者,因此这可能是一个简单的问题。但我无法成功克服这一点。
这是我的models.py
class Category(models.Model):
name = models.CharField(max_length=128)
abbr = models.CharField(max_length=5)
def __unicode__(self):
return self.name
class Fabric(models.Model):
name = models.CharField(max_length=128)
abbr = models.CharField(max_length=5)
def __unicode__(self):
return self.name
class Manufacturer(models.Model):
name = models.CharField(max_length=128)
location = models.CharField(max_length=128)
name_abbr = models.CharField(max_length=5, default=None)
loc_abbr = models.CharField(max_length=5, default=None)
def __unicode__(self):
return self.name
class Images(models.Model):
design_id = models.CharField(max_length=128)
file = models.ImageField(upload_to='images')
cost_price = models.FloatField()
category = models.ForeignKey(Category, on_delete=models.CASCADE)
fabric = models.ForeignKey(Fabric, on_delete=models.CASCADE)
manufacturer = models.ForeignKey(Manufacturer, on_delete=models.CASCADE)
selling_price = models.FloatField()
aliveness = models.IntegerField()
date_added = models.DateTimeField(default=datetime.datetime.now)
set_cat = models.IntegerField()
set_cat_no = models.IntegerField()
set_cat_name = models.CharField(max_length=50, blank=True)
我正在构建一个包含服装设计的服装管理数据库系统。 我的 forms.py 是
class ImagesForm(forms.ModelForm):
class Meta:
model = Images
fields = ('file','cost_price','set_cat_no','set_cat_name',)
我的意见.py
@login_required
def uploadphoto(request):
context = RequestContext(request)
context_dict = {}
if request.method == 'POST':
form = ImagesForm(request.POST,request.FILES)
if form.is_valid():
image = form.save(commit=False)
image.save()
return render_to_response(request,'cms/upload-photo.html', {'upload_image': form})
else:
print form.errors
else:
form = ImagesForm()
context_dict = {'upload_image': form}
return render_to_response('cms/upload-photo.html',context_dict, context)
我的 upload-photo.html 是
{% block main %}
<form id="upload_form" method="post" action="/zoomtail/upload-photo/" enctype="multipart/form-data">
{% csrf_token %}
{{ upload_image }}
</form>
{% endblock %}
这里的问题是当我转到 /upload-photo/ 时,我看不到类别、面料和制造商的外键的下拉列表。我读过它应该是自动生成的,但我没有看到任何东西。
并且
selling_price必须根据必须在表单中输入的 cost_price 的给定百分比增加来计算。我该怎么做呢?并且服装的aliveness必须默认设置为1。如何做到这一点?服装的
set-cat字段如果属于套装则为1,如果属于目录则为2。如何获得一个单选按钮,询问是否设置或目录以及在数据库中作为整数捕获?服装的 design-id 字段必须是一个字符串,其中包含其所属的所有字段的类别、面料、制造商等的缩写。如何动态执行此操作?
我知道,这是一个很长的问题,但我是一个新手,这些问题真的让我头疼了好几天。我将非常感谢那些回答这个问题的人。
【问题讨论】:
-
您最好提出单独的问题,而不是针对 4 个不同的问题寻求帮助。首先,不要使用
render_to_response,它已经过时了。请改用render。对于您的第一个问题,您没有在fields中包含'category',因此不会包含在表单中。 -
在ImagesForm类的字段中添加字段
-
好的,谢谢。