                  ("price__gt", F("discounted_price")),
                  ("price", F("discounted_price")),
              ),
          )
          self.assertEqual(kwargs, {"_connector": "OR"})
  
      def test_deconstruct_xor(self):
          q1 = Q(price__gt=F("discounted_price"))
          q2 = Q(price=F("discounted_price"))
          q = q1 ^ q2
 
</s> remove         self.assertEqual(kwargs, {"_connector": "XOR"})
 </s> add         self.assertEqual(kwargs, {"_connector": Q.XOR}) </s> remove         w = WhereNode(children=[NothingNode()], connector="OR")
 </s> add         w = WhereNode(children=[NothingNode()], connector=OR) </s> remove             self.query.where.add(RawSQL("%s = %s" % (lhs_sql, rhs), lhs_params), "AND")
 </s> add             self.query.where.add(RawSQL("%s = %s" % (lhs_sql, rhs), lhs_params), AND) </s> remove         w = WhereNode(children=[NothingNode(), self.DummyNode()], connector="OR")
 </s> add         w = WhereNode(children=[NothingNode(), self.DummyNode()], connector=OR) </s> remove         w.connector = "OR"
 </s> add         w.connector = OR
        self.assertEqual(kwargs, {"_connector": Q.OR})
                  ("price__gt", F("discounted_price")),
                  ("price", F("discounted_price")),
              ),
          )
        self.assertEqual(kwargs, {"_connector": Q.OR})
  
      def test_deconstruct_xor(self):
          q1 = Q(price__gt=F("discounted_price"))
          q2 = Q(price=F("discounted_price"))
          q = q1 ^ q2
keep keep keep keep replace keep keep keep keep keep
 Used AND, OR, XOR constants instead of hard-coded values. 
tests/queries/test_q.py