Как получить значения таблицы Django в запросе POST - PullRequest
0 голосов
/ 18 марта 2019

У меня есть следующая модель:

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 %}

Я хочу иметь возможность получить таблицу (по запросу) и сохранить выбранные строки в базе данных. Я пытался получить объект Queryset из таблицы или, по крайней мере, получить значения ячеек, но не смог их получить. Как я могу это сделать?

Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...