私のweb2pyプロジェクトには、次のような記事の表があります。
db.define_table('articles',
Field('created_on', 'datetime', default = datetime.today(),
required = True, notnull = True,
requires = [IS_NOT_EMPTY(),
IS_DATETIME(format=T('%Y-%m-%d %H:%M:%S'))]),
Field('article_en', 'text', required = True,
notnull = True, requires = IS_NOT_EMPTY()))
アップロードされたファイルを追跡する別のファイル:
db.define_table('files',
Field('filename', 'string', required = True, notnull = True),
Field('uploaded_data', 'upload', autodelete = True,
required = True, notnull = True, requires = IS_NOT_EMPTY()),
Field('created_on', 'datetime', required = True, notnull = True))
ここで、記事が使用するすべてのファイルの参照と、ファイルが属するすべての記事の参照が必要です。関係を見落として記事を台無しにする危険なしに未使用のファイルを簡単に削除できるように、これが必要です。
より簡単に言えば、関係はこれに非常に近いものです。すべての記事には複数のファイルがあり、すべてのファイルは異なる記事にリンクしています。
私がweb2pyの本から集めたものから、多対多の関係を直接サポートすることはできません。この問題を解決するための簡単な回避策は、リレーションを処理する中間テーブルを使用することですが、明らかに私はデータベースの第一人者ではないため、どのようにすればよいかわかりません。
いくつかの助けをいただければ幸いです!