0

我正在网站上创建一个新部分,现有客户(Customer模型)可以选择出现在该部分上。
新用户不需要拥有主站点 ( Customer) 的帐户,只需为新部分 (NewSecUser模型)创建一个帐户

class Customer(models.Model):
    name = models.CharField(max_length=50)
    #[...]
    is_visible_on_new_section = models.BooleanField(default=False)

class NewSecUser(model.Model):
    name = models.CharField(max_length=50)
    #[...]
    customer_id = models.IntegerField(null=True)
    # customer_id refers to the id of a Customer model object 
    # its value is different from null only when a Customer chooses to appear
    # on the new section

如何exclude()过滤掉NewSecUser对象Customer具有id等于NewSecUser.customer_idis_visible_on_new_section设置为的对象False

我相信 基本上类似于 SQL JOIN(with )。new_sec_user.customer_id=customer.id

我知道customer_id作为外键会容易得多,但我没有选择这个。

4

1 回答 1

1
Customer.filter(id__in = [nsu.pk for nsu in NewSecUser.all()]).filter(is_visible_on_new_selection=True).all()`

或非常相似的东西

于 2012-09-20T22:33:34.523 回答