わかりましたので、私のコードが何であるかから始めます:
models.py
class Order(models.Model):
order_id = models.IntegerField(primary_key = True)
order_status = models.IntegerField()
orderItems = []
ビュー.py
def addToList(request):
prodId = request.GET['prodId'] or None
if not prodId is None:
prod = Product.objects.get(prod_id=prodId)
custOrder = request.session.get(definitions.CUSTOMER_ORDER) or \
Order(order_total = 0, order_status=1)
custOrder.addOrderItem(prod)
request.session[definitions.CUSTOMER_ORDER] = custOrder
return HttpResponseRedirect('/')
def home(request):
shoppingList = request.session.get(definitions.CUSTOMER_ORDER)
ご覧のとおり、注文モデルを作成し、そのモデルにあるリストに orderItem を追加してセッションに保存します。これで問題なく動作し、データは期待どおりに保持されます。サーバーを再起動すると、 Order モデルはまだセッション内にありますが、これは私が望むものですが、リストオブジェクトはEMPTYです。orderItems = [] デバッグすると。
今、私はPythonの第一人者ではないので、誰かが私が間違っていることを指摘できれば、それは大歓迎です.
編集: models.py の orderItem モデルの追加
class OrderItem(models.Model):
orderItem_id = models.IntegerField(primary_key = True)
orderItem_cost = models.FloatField()
orderItem_quantity = models.IntegerField()
order = models.ForeignKey(Order)
def getOrderCost(self):
return self.orderItem_cost * self.orderItem_quantity
class Meta:
db_table = u'orderItems'