除了表单数据之外还将数据添加到django中的数据库

时间:2016-01-02 04:33:00

标签: django django-models django-forms

我目前在将数据保存到数据库时遇到问题。我打算做的是我有一个 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <solid android:color="#FF0000"/> </shape> </item> <item> <nine-patch android:src="@drawable/button_down_red" /> </item> </layer-list> 字段表示IP地址和其他一些字段。使用ModelForm将这些其他字段添加到数据库中。提交表单时,ip地址与表单数据一起保存。但是当我进入我的管理页面时,ip字段为空。

model.py

ip

forms.py

class Restaurant(models.Model):
    ip = models.CharField(max_length=45)
    name = models.CharField(max_length=100)
    owner = models.CharField(max_length=100)
    city = models.CharField(max_length=50)
    state = models.CharField(max_length=50)
    zipcode = models.CharField(max_length=6)

views.py

class RestaurantForm(forms.ModelForm):
    class Meta:
        model = Restaurant
        fields = ('name', 'owner', 'city', 'state', 'zipcode',)
        labels = {
            'name': _('Name of restaurant'),
            'owner': _('Owner name'),
            'zipcode': _('Zip Code'),
        }

提前致谢!

1 个答案:

答案 0 :(得分:3)

您没有将表单保存回本地变量。

试试这个:

restaurant = form.save(commit=False)

然后

restaurant.ip = ip_address
restaurant.save()

More on this here