社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

如何在POST请求中获取Django表值

user11220607 • 4 年前 • 420 次点击  

我有以下型号:

class Sccinfo(models.Model):
    primary_key = models.IntegerField(primary_key=True)
    chip_kind = models.CharField(max_length=20, blank=True, null=True)
    project_code = models.ForeignKey(Projects, models.DO_NOTHING, db_column='project_code')
    board_type = models.CharField(max_length=9)
    period = models.CharField(max_length=5)
    scc_image = models.CharField(max_length=8, blank=True, null=True)
    scc_platform = models.ForeignKey(Platforms, models.DO_NOTHING, db_column='scc_platform')
    minor = models.CharField(max_length=4, blank=True, null=True)
    label = models.CharField(max_length=15)
    atr = models.CharField(db_column='ATR', max_length=66)  # Field name made lowercase.
    scc_interface = models.CharField(max_length=15, blank=True, null=True)
    anti_reqiuered = models.IntegerField()
    lockable = models.IntegerField()
    mse_file = models.CharField(max_length=15, blank=True, null=True)
    notes = models.TextField(blank=True, null=True)

    class Meta:
        managed = True
    db_table = 'sccinfo'

我使用django表添加对列的操作:

class SccinfoTable(tables.Table):
    scc_platform=tables.Column(attrs={'td': {"contenteditable": "false"}})
    selection = tables.CheckBoxColumn(accessor='pk', orderable=False)

    def render_board_type(self, value):
        return get_template_values(GEN,value)
    def render_project_code(self,value):
        return get_template_values(Projects.objects.all(),value)

    class Meta:
        model = Sccinfo
        template_name = "django_tables2/bootstrap-responsive.html"
        # exclude = ('id',)
        # order_with_respect_to = 'project_name'
        attrs = { 'style':'max-width:100%; white-space:nowrap;','td': {"contenteditable" : "true"},'th':{'style':'width:auto !important'}}
        sequence = ('selection','...')

意见:

class SccInfoView (SingleTableView):
    model = Sccinfo
    template_name = "sccinfo.html"

def get(self, request, *args, **kwargs):
    # self.data_info=Sccinfo.objects.all()
    table = SccinfoTable(Sccinfo.objects.all())       
    return render(request,self.template_name, {'table': table})

 def post(self, request, *args, **kwargs):
    table = SccinfoTable(request.POST)
    # for row in table.rows://???

HTML格式:

{% extends 'base.html' %}
{% load django_tables2 %}
{% block pagecontent %}

<form id="form" action="/" method="post">

{% csrf_token %}
        <div>
            <h3>SCC Info Table</h3>
            <table>
            {% render_table table %}
</table>
        </div>
    <input type="submit" value="Save" id="save" class="btn" formmethod="post" />
</form>
{% endblock %}

我希望能够获得表(在post请求时)并将所选行保存到数据库。我试图从表中获取Queryset对象,或者至少获取单元格值,但无法检索它们。我该怎么做?

提前谢谢!

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50447
 
420 次点击