开发者

Some tables mixed together

开发者 https://www.devze.com 2022-12-16 11:46 出处:网络
I have 2 different tables in my database. They have some variables common and some different. For example:

I have 2 different tables in my database. They have some variables common and some different. For example:

Table1:

  • ID
  • Date
  • Name
  • Address
  • Fax

Table2:

  • ID
  • Date
  • Name
  • e-mail
  • Telephone number

I want to display data together sorted by date & ID but from both tables. For example, fi开发者_C百科rst displayed will be the newest record from first table, but the second one will be the record from another table posted right after first one.

Hope everybody understand, sorry for my English.

Cheers.


Select entries from both models, than put them into a single list and sort them. Like that:

result = (list(first_query) + list(second_query))
result.sort(cmp=foo)
return result

where foo is a function, which is used to compare two elements:

def foo(a, b):
  if a.date > b.date:
    return 1
  if a.date < b.date:
    return -1
  if a.date == b.date:
    if a.id > b.id:
      return 1
    if a.id < b.id:
      return -1
    return 0

And the to display:

<table>
{% for object in result %}
  {{ object.render_table }}
{% endfor %}
</table>

and in models (just one table):

class Table1(models.Model):

  ..

  def render_table(self):
    return '<tr><td>table1</td></tr>'
0

精彩评论

暂无评论...
验证码 换一张
取 消