您好我是GreenDao中的新人我非常喜欢它但是,我尝试使用django REST API和Retrfit与GreenDao实体设置消息plataform,我有来自服务器的这条JSON消息:
{
id: 1
created_at: "2015-10-06T02:45:48Z"
subject: "First message"
message: "Here is our first message across the messaging system! I feel just like Samuel Morse."
read: true
sender: {
url: "https://app.herokuapp.com/api/users/461"
username: "travis"
email: ""
is_staff: false
}
receiver: 81
}
问题是如何将绿色dao“sender”中的消息对象放入用户对象而不是String或长消息对象内的对象:
Schema schema = new Schema(DB_VERSION, ANDROID_APP_ID);
Entity privateMessage = schema.addEntity("PrivateMessage");
PropertyType user = schema.addEntity("User");
Property sender = privateMessage.addProperty(user., propertyName)
privateMessage.addStringProperty("id").primaryKey().unique();
privateMessage.addBooleanProperty("read");
privateMessage.addStringProperty("message");
user.addStringProperty("urlId").primaryKey().unique();
user.addStringProperty("url").unique();
user.addStringProperty("first_name");
user.addStringProperty("last_name");
user.addStringProperty("username").unique();
user.addStringProperty("email").unique();
user.addStringProperty("address");
user.addStringProperty("phone_number");
user.addStringProperty("password");
user.addStringProperty("group");
user.addBooleanProperty("sex");
user.addBooleanProperty("is_stuff");
user.addBooleanProperty("is_active");
user.addStringProperty("token");
user.addStringProperty("profile_picture");
user.addStringProperty("description");
user.addDateProperty("dob");
Property messagesThreatsId = privateMessage.addStringProperty("receiver").getProperty();
ToMany userToMessages = user.addToMany(privateMessage, messagesThreatsId);
Property conversations = privateMessage.addStringProperty("subject").getProperty();
Property created_at = privateMessage.addDateProperty("created_at").getProperty();
userToMessages.setName("LastMessages");
userToMessages.orderDesc(created_at);
答案 0 :(得分:1)
您可以使用从用户到消息的一对多关系,或者从消息到用户的一对一关系,具体取决于您希望关系的工作方式。
在第一种情况下,您可以为每个用户获取此用户发送的所有消息。在第二个中,您可以获取发送它的用户的每条消息。你总能做到这两点
请注意,如果JSON具有此格式,则应首先使用url字段找到用户ID,然后将其置于关系中。
Here你掌握了有关关系的所有信息。