0

別のアプリ (django-helpdesk) のキュー モデルに接続したい 1 つのアプリにシステム モデルがあります。System object に対して Queue オブジェクトが選択されていない場合、System からの情報を使用して新しい Queue オブジェクトを生成し、初期化したいと考えています。

Queue の必須フィールドをすべて説明しましたが、うまくいかないようです。エラーは発生しません。新しい Queue オブジェクトを生成することはありません。誰かが問題を見つけたり、これをカバーする別の方法を推奨したりできますか?

#models.py

import helpdesk

....

class System(models.Model):
    queue = models.ForeignKey(
        helpdesk.models.Queue,
        blank = True,
        null = True,
        editable = True,
        verbose_name = _('Queue'),
    )

    def __save__(self, *args, **kwargs):
        if not self.queue:
            slug = slugify(self.name)
            queue = helpdesk.models.Queue(title=self.name, slug=slug)
            queue.save()
        self.queue = queue.pk
        super(System, self).save(*args, **kwargs)

編集:参考までに、メソッドに二重アンダースコアを使用する以外に、追加の間違いがありsave()ます。行self.queue = queue.pkは代わりにself.queue = queue.

4

3 に答える 3

1

save()ではなくメソッドをオーバーライドする必要があります__save__()。例を参照してください。

于 2013-09-08T22:12:17.747 に答える
1

名前を変更:

def __save__(...)

def save(...)
于 2013-09-08T22:12:46.470 に答える