簡體   English   中英

創建或增加現有實例的 UpdateView

[英]UpdateView that creates or increments existing instance

我有一個 model 可以跟蹤以特定價值“購買”了多少物品。 例如,可以將物品視為股票,將價值視為購買價格。

class Inventory(models.Model):
    item = models.ForeignKey(Item, on_delete=models.CASCADE)
    quantity = models.PositiveIntegerField()
    value = models.PositiveIntegerField()

    class Meta:
        db_table = 'app_version'
        constraints = [
            models.UniqueConstraint(fields=['item', 'value'], name='unique valued items')
        ]

現在,我正在嘗試編寫一個基於類的Create/UpdateView ,其中只需聲明以什么價格購買了哪些商品。 然后,視圖應該創建一個新實例或增加現有實例的數量。

我已經發現UpdateView可能是最好的開始,因為我可以覆蓋get_object方法來獲得這種“創建或更新”行為。 但是,我不確定如何進行遞增。

也許我也完全走錯了路,我在這里缺少一個更簡單的解決方案。 就如何解決這個問題獲得一些想法和意見會很棒。

太感謝了!

只需使用get_or_update方法。 它允許您知道它是新實例還是來自 db。 但是如果你想創建一個 api,使用django rest 框架是更好的方法。 它附帶了許多用於快速創建 api 的內置工具。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM