2015-02-06 7 views
0

Я использую mongodb в качестве базы данных django nonrel для создания сайта блога. Основные модели для сайта блога являются:Как удалить элемент в поле списка для django nonrel

class Post: 
     comments = ListField(EmbeddedModelField('Comment')) 
     ....(omitted here) 

    class Comment: 
     created = models.DateTimeField(auto_now_add=True) 
     author = models.CharField(max_length=35) 
     email = models.EmailField(max_length=64) 
     text = models.TextField() 
     ip_addr = models.IPAddressField() 

Я обнаружил, что, когда я создал свой комментарий и добавить его к ListField должности, комментарий не будет иметь ObjectID, потому что она встроена. Таким образом, когда я хочу удалить комментарий, мне трудно сообщить базе данных, какой комментарий я хочу удалить. Возможно ли передать комментарий из шаблона в представления без функции url в urls.py?

ответ

0

Вы можете переписать модель как

class Post: 
    comments = ListField(models.ForeignKey('Comment')) 
    ....(omitted here) 

class Comment: 
    created = models.DateTimeField(auto_now_add=True) 
    author = models.CharField(max_length=35) 
    email = models.EmailField(max_length=64) 
    text = models.TextField() 
    ip_addr = models.IPAddressField() 
+0

Поскольку я использую не-реляционную базу данных, используя ForeignKey будет жертвовать скорость. Я хотел бы придерживаться встроенного поля, если это возможно. – ohmygoddess